오늘의 문제는 '완전탐색'에 관련한 문제이다.
https://school.programmers.co.kr/learn/courses/30/lessons/42842
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
사실 풀다보니, 완전탐색을 사용하기 보다는 단순히 수학적으로 계산할 수 있는 문제였다.
해당 문제를 풀기위해 세운 논리는 다음과 같다.
1. yellow 격자의 가로 x 세로를 구한다.
=> 24 => 24*1, 12*2, 8*3, 6*4 (가로의 길이가 세로의 길이보다 길때까지)
2. brown 은 yellow의 (가로 + 2) * (세로+2) - yellow 이다.
=> 24 => 26*3, 14*4, 10*5, 8*6 ( brown + yellow )
=> 78-24, 56-24, 50-24, 48-24
3. 즉, 1~yello/2 까지 yellow % i == 0 를 만족할떄, 가로는 24 / i, 세로는 i 이다.
* 24 % 1 == 0
* 24 % 2 == 0
* 24 % 3 == 0
* 24 % 4 == 0
* 24 % 5 != 0
* 24 % 6 == 0
4. 이때, 브라운은 yellow 의 (가로 + 2) * (세로 * 2) - 24 (yellow) 이며, 해당 해가 brown 을 만족하면 yellow 의 가로와 세로를 구할 수 있다.
해당 논리를 코드로 구현하면 다음과 같다.
'TIL' 카테고리의 다른 글
[코테연습] 타겟넘버 (0) | 2024.05.30 |
---|---|
[코테연습] 소수찾기 (0) | 2024.05.29 |
[코테연습] H-Index (0) | 2024.05.27 |
[코테연습] 가장 큰 수 (0) | 2024.05.26 |
[코테연습] smallest-number-in-infinite-set (0) | 2024.05.25 |