[프로그래머스|JAVA|오늘의 연습 문제] <PCCE 기출문제> 9번 / 지폐 접기
2025. 6. 24. 15:58ㆍ💻코딩/💡Programmers
728x90
반응형
[문제 링크]
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
import java.util.*;
class Solution {
public int solution(int[] wallet, int[] bill) {
int answer = 0;
while(check(wallet, bill)){
if(bill[0] > bill[1]){
bill[0] = bill[0] / 2;
}
else {
bill[1] = bill[1] / 2;
}
answer++;
}
return answer;
}
public boolean check(int[] wallet, int[] bill) {
int b_min = Math.min(bill[0], bill[1]);
int b_max = Math.max(bill[0], bill[1]);
int w_min = Math.min(wallet[0], wallet[1]);
int w_max = Math.max(wallet[0], wallet[1]);
return b_min > w_min || b_max > w_max ? true : false;
}
}
접근법은 프로그래머스 자체에 있으므로 따로 작성하지 않겠습니다.
📍아쉬운 점
다른 분들의 코드를 보니 좀 더 메소드를 잘 활용할 수 있었다는 것을 깨달았다.
max와 min 메소드를 생성하여 배열의 큰 값과 작은 값을 구해주도록 하면 check 메소드 안에 4개의 변수를 작성하지 않고, 그렇다면 더 간결하고 효율성이 좋았을 것 같다.
728x90
반응형
'💻코딩 > 💡Programmers' 카테고리의 다른 글
[프로그래머스|MySQL] 진료과별 총 예약 횟수 출력하기 | COUNT(), LIKE, GROUP BY (2) | 2025.07.08 |
---|---|
[프로그래머스|MySQL] 물고기 종류 별 대어 찾기 | MAX(), 서브쿼리, WHERE, IN (0) | 2025.06.24 |
[프로그래머스|MySQL] 가격이 제일 비싼 식품의 정보 출력하기 | MAX(), 서브쿼리, ORDER BY, LIMIT (0) | 2025.06.23 |
[프로그래머스|MySQL] 서울에 위치한 식당 목록 출력하기 | ROUND(), AVG(), LIKE (0) | 2025.06.20 |
[프로그래머스|JAVA] 기능 개발 | 스택 ⭕ | ArrayList<> ➡️ int[] 변환 | 2가지 방법 (2) | 2025.06.20 |