반응형
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
- 문제
카펫이 주어지면 카펫의 x,y 크기를 구하는 문제다.
- 풀이
#include <string>
#include <vector>
using namespace std;
vector<int> solution(int brown, int yellow) {
vector<int> answer;
int all = brown + yellow;
for(int i = 3; i < 2000; i++){
for(int j = 3; i * j <= all;j++){
if(i * j == all && (i*2 + j*2 - 4 == brown)){
answer.push_back(j);
answer.push_back(i);
return answer;
}
}
}
return answer;
}
brown와 yellow를 합친게 결국 x * y가 될 것이고, brown은 바깥 테두리니깐 x * 2 + y * 2 - 4가 될 것이다.
그나마 시간복잡도를 줄이려고 이중반복문의 범위를 x * y가 더 작거나 같을때만 해당되도록 했다.
- 기억할 것!
X
반응형
'Algorithm > 프로그래머스' 카테고리의 다른 글
프로그래머스 중복된 숫자 개수 C++ (0) | 2024.08.19 |
---|---|
프로그래머스 다항식 더하기 C++ (0) | 2022.10.31 |
프로그래머스 다음 큰 숫자 C++ (0) | 2022.10.23 |
프로그래머스 주식가격 C++ (0) | 2022.10.22 |
프로그래머스 타겟 넘버 C++ (0) | 2022.10.22 |