💡풀이
class Solution {
public int solution(int[] wallet, int[] bill) {
// 지갑의 긴 변과 짧은 변
int width = Math.max(wallet[0], wallet[1]);
int height = Math.min(wallet[0], wallet[1]);
int answer = 0; // 접는 횟수
while (true) {
// 현재 크기로 지갑에 들어가면 종료
if (width >= Math.max(bill[0], bill[1]) &&
height >= Math.min(bill[0], bill[1])) {
break;
}
// 더 긴 변을 반으로 접는다
if (bill[0] >= bill[1]) {
bill[0] /= 2;
} else {
bill[1] /= 2;
}
answer++; // 접었으니 횟수 +1
}
return answer;
}
}
GitHub - okjunghyeon/Programmers_CodingTest: 프로그래머스 관련 코딩테스트 문제를 풀이한 저장소입니다.
프로그래머스 관련 코딩테스트 문제를 풀이한 저장소입니다. Contribute to okjunghyeon/Programmers_CodingTest development by creating an account on GitHub.
github.com
'CodingTest > Programmers' 카테고리의 다른 글
[프로그래머스, Java] 로또의 최고 순위와 최저 순위 (0) | 2025.07.18 |
---|---|
[프로그래머스, Java][1차] 다트 게임 (0) | 2025.07.18 |
[프로그래머스, Java] 실패율 (0) | 2025.07.18 |
[프로그래머스, Java] 옹알이 (2) (0) | 2025.07.18 |
[프로그래머스, Java] 소수 만들기 (0) | 2025.07.18 |