[PCCP 기출 9번] 지폐 접기

2025. 6. 1. 20:15·알고리즘/구현
728x90
반응형

https://school.programmers.co.kr/learn/courses/30/lessons/340199

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

문제 유형

  • 구현

 

문제 난이도

  • Lev1

 

문제 분석

문제에서 주어진 로직대로 구현하면 된다.

1. 지폐를 접은 횟수를 저장할 정수 변수 answer를 만들고 0을 저장합니다.
2. 반복문을 이용해 bill의 작은 값이 wallet의 작은 값 보다 크거나 bill의 큰 값이 wallet의 큰 값 보다 큰 동안 아래 과정을 반복합니다.
2-1. bill[0]이 bill[1]보다 크다면 bill[0]을 2로 나누고 나머지는 버립니다.
2-2. 그렇지 않다면 bill[1]을 2로 나누고 나머지는 버립니다.
2-3. answer을 1 증가시킵니다.
3. answer을 return합니다.

아래 전체 코드에서 flow 대로 코드를 구현해두었다.

 

 

전체 코드

import java.util.*;
import java.io.*;

class Solution {
    public int solution(int[] wallet, int[] bill) {
    	// 1. 지폐를 접은 횟수를 저장할 정수 변수 answer를 만들고 0을 저장합니다.
        int answer = 0;
        

        int wMin = wallet[0] < wallet[1] ? wallet[0] : wallet[1];
        int wMax = wallet[0] < wallet[1] ? wallet[1] : wallet[0];
        
        int bMax = bill[0] < bill[1] ? bill[1] : bill[0];
        int bMin = bill[0] < bill[1] ? bill[0] : bill[1];
		
        // 2. 반복문을 이용해 bill의 작은 값이 wallet의 작은 값 보다 크거나 bill의 큰 값이 wallet의 큰 값 보다 큰 동안 아래 과정을 반복합니다.
        while (wMin < bMin || bMax > wMax) {
            
            // 2-1. bill[0]이 bill[1]보다 크다면 bill[0]을 2로 나누고 나머지는 버립니다.
            if(bill[0] < bill[1]) bill[1] /= 2;
            // 2-2. 그렇지 않다면 bill[1]을 2로 나누고 나머지는 버립니다.
            else bill[0] /= 2;
            
            bMax = bill[0] < bill[1] ? bill[1] : bill[0];
            bMin = bill[0] < bill[1] ? bill[0] : bill[1];
            
            // 2-3. answer을 1 증가시킵니다.
            answer++;
        }
        
        // 3. answer을 return합니다.
        return answer;
    }
}
728x90
반응형
저작자표시 비영리 변경금지 (새창열림)

'알고리즘 > 구현' 카테고리의 다른 글

[PCCP 기출 1번] 붕대 감기  (0) 2025.06.05
[PCCP 기출 10번] 공원  (0) 2025.06.02
[2024 KAKAO INTERN] 가장 많이 받은 선물  (0) 2025.05.29
[프로그래머스] 유연근무제  (0) 2025.05.29
[프로그래머스] 택배 상자 꺼내기  (0) 2025.05.26
'알고리즘/구현' 카테고리의 다른 글
  • [PCCP 기출 1번] 붕대 감기
  • [PCCP 기출 10번] 공원
  • [2024 KAKAO INTERN] 가장 많이 받은 선물
  • [프로그래머스] 유연근무제
moongi
moongi
프로그래밍 관련 공부를 정리하는 블로그
  • moongi
    By_Me
    moongi
  • 전체
    오늘
    어제
    • 공부 (95)
      • 알고리즘 (75)
        • 구현 (12)
        • 이분 탐색 (1)
        • 누적합 (2)
        • 다이나믹 프로그래밍 (5)
        • 위상 정렬 (2)
        • SCC (1)
        • BFS & DFS (2)
        • 그래프 (2)
        • LCA (2)
        • 세그먼트 트리 (2)
        • 플로이드 워셜 (1)
        • 문자열 (1)
        • 수학 (1)
        • Heap (1)
        • SQL (9)
        • 개념 정리 (5)
        • 예외처리 (1)
      • spring boot (6)
        • jpa (0)
        • querydsl (0)
        • MVC pattern (0)
        • setting (2)
      • 취준 (3)
      • CS (11)
        • 대규모 시스템 설계 (2)
        • 디자인패턴 (2)
        • 데이터베이스 (4)
        • 네트워크 (3)
        • 운영체제 (0)
  • 인기 글

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
moongi
[PCCP 기출 9번] 지폐 접기
상단으로

티스토리툴바