카테고리 없음
프로그래머스 LV2 - 카펫
수박 서리
2022. 11. 9. 14:18
문제링크
https://school.programmers.co.kr/learn/courses/30/lessons/42842
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 풀이
가운데 노란색이 들어가기 위해서는 최서 가로 세로가 3 X 3 크기이어야한다.
노란색의 갯수는 (가로의 길이 -2) * (세로의 길이-2) 의 규칙을 가지니 위 조건의 만족하는 가로 세로 길이를 구하면 된다.
제한사항
- 갈색 격자의 수 brown은 8 이상 5,000 이하인 자연수입니다.
- 노란색 격자의 수 yellow는 1 이상 2,000,000 이하인 자연수입니다.
- 카펫의 가로 길이는 세로 길이와 같거나, 세로 길이보다 깁니다.
코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | #include <string> #include <vector> using namespace std; vector<int> solution(int brown, int yellow) { vector<int> answer; int total = brown + yellow; for(int i = 3 ; i <= total/3 + 1 ; i++) //길이가 3이 최소값이니 3부터 시작 { int x,y; x= i-2; y= (total/i -2); if( x * y == yellow) { answer.push_back(total/i); answer.push_back(i); break; } } return answer; } | cs |