안녕하세요.
오늘은 프로그래머스 PCCE 기출문제 9번 지폐접기를 풀어보겠습니다.
https://school.programmers.co.kr/learn/courses/30/lessons/340199
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
해당 문제 같은 경우 문제에서 진한 네모칸으로 1,2,3 작성해준 내용의 의사코드를 그대로 코드로 풀어쓰면 됩니다.
포인트는 2번의 2-1, 2-2, 2-3이 될텐데요.
아래와 같이 글을 코드로 작성하면 됩니다.
bill[0]이 bill[1]보다 크다면, -> if(bill[0] > bill[1]){
bill[0]을 2로 나누고 나머지는 버립니다 -> bill[0] = bill[0]/2
그렇지않다면 -> }else{
bill[1]을 2로 나누고 나머지는 버립니다. -> bill[1] = bill[1]/2
answer을 1증가시킵니다. -> answer++
이런식으로 진행하면서 코드를 작성해주시면 됩니다.
아래는 최종 코드입니다.
class Solution {
public int solution(int[] wallet, int[] bill) {
int answer = 0;
int maxBill= 0;
int maxWallet = 0;
int minBill= 0;
int minWallet = 0;
while(true){
maxBill = Math.max(bill[0],bill[1]);
minBill = Math.min(bill[0],bill[1]);
maxWallet = Math.max(wallet[0],wallet[1]);
minWallet = Math.min(wallet[0],wallet[1]);
if(minBill > minWallet || maxBill > maxWallet){
if(bill[0] > bill[1]){
bill[0] = bill[0]/2;
answer++;
}else{
bill[1] = bill[1]/2;
answer++;
}
}else{
break;
}
}
return answer;
}
}
문제에 나온 의사코드를 프로그래밍 언어코드로 변경만 할 수 있으면 어렵지 않은 문제였습니다.
감사합니다.
'CodingTest' 카테고리의 다른 글
[프로그래머스] 2021 카카오 채용연계형 숫자 문자열과 영단어 (0) | 2025.09.08 |
---|---|
백준_11478번_서로 다른 부분 문자열_자바 (0) | 2024.06.24 |
백준_2075번_N번째 큰 수_자바 (0) | 2024.03.18 |
백준_21921번_블로그_자바 (0) | 2024.03.11 |
백준_4659번_비밀번호 발음하기_자바 (0) | 2024.03.03 |