콜라 문제

2025. 1. 16. 10:02·코딩 테스트/프로그래머스

문제

 

문제 해석

1. 제한 사항에서 n이 1,000,000이고 a에 의해 나눠지므로 O(logN)이라 생각해서 반복문으로 풀기로 결정.

2. 콜라 새거 개수 n, 가져다 줘야하는 콜라 병 a, a개수를 가져다 주면 받는 콜라 병 b

3. a로 나눈 몫 * b를 answer에 더해준다.

4. 새거 개수 n의 갱신은 n을 a로 나눈 나머지 + a로 나눈 몫 * b로 갱신한다.

5. 3~4의 과정을 반복

 

코드

int solution(int a, int b, int n) {
    int answer = 0;
    // 콜라 새 거 개수 n
    // 병 a개를 가져다 주면 새 거 b병을 준다.    
    int NewColar = 0;
    while(n >= a)
    {
        // 받을 수 있는 병의 개수 answer
        // 새로 받은 거는 다시 새 거에 추가된다.
        // 1. 받을 수 있는 개수를 미리 구한다.
        // 2. 새로 받은 것을 기록한다.(몫)
        // 3. answer에 더해준다.
        // 4. 전체 개수를 갱신한다. (2.의 나머지 + 몫)
        // 5. 다시 이를 n이 이상일 동안 반복한다.
        NewColar = n / a * b;
        answer += NewColar;
        n = (n % a) + NewColar;        
    }
        
    return answer;
}

 

회고

마지막에 b를 고려하지 않아서 4분 정도 시간을 허비했는데 풀이 전에 어떻게 풀지 의사코드를 좀 더 꼼꼼하게 작성할 필요가 있다 느꼈다.

다른 사람의 풀이

1. 수식화 해서 한 줄 풀이
2. 변수를 최대한 적게 사용

'코딩 테스트 > 프로그래머스' 카테고리의 다른 글

카드 뭉치  (0) 2025.01.20
명예의 전당 (1)  (2) 2025.01.16
푸드 파이트 대회  (0) 2025.01.14
두 개 뽑아서 더하기  (0) 2025.01.14
가장 가까운 같은 글자  (1) 2025.01.14
'코딩 테스트/프로그래머스' 카테고리의 다른 글
  • 카드 뭉치
  • 명예의 전당 (1)
  • 푸드 파이트 대회
  • 두 개 뽑아서 더하기
DevJoo1120
DevJoo1120
  • DevJoo1120
    Jin's Programming
    DevJoo1120
  • 전체
    오늘
    어제
    • 분류 전체보기 (142)
      • 포트폴리오 (7)
        • Castlevania: Aria of Sorrow.. (7)
        • [UE5] KILL Everything (0)
      • C++ (0)
      • 라이브러리 (1)
      • 다이렉트X11 (0)
      • Unreal Engine (11)
        • Unreal Document (1)
        • 이것 저것 (8)
        • UI (1)
      • 자료구조 및 알고리즘 (0)
      • 책 정리 (3)
        • 코딩 테스트 합격자 되기 C++ 편 (10)
      • 코딩 테스트 (32)
        • 프로그래머스 (32)
      • 스파르타 코딩 언리얼 1기 (9)
        • 특강 (0)
        • C++와 Unreal Engine으로 3D .. (2)
      • TIL(Today I Learned) (63)
      • 영어 공부 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    C++
    책 정리
    프로그래머스
    map
    WINAPI
    팀 프로젝트
    Til
    이중 반복문
    문자열
    반복문
    과제
    배열
    정렬
    코딩테스트
    Unreal Engine 5
    스파르타 코딩 클럽
    Study
    코딩 테스트 합격자 되기 c++ 편
    정리
    코딩 테스트
  • hELLO· Designed By정상우.v4.10.5
DevJoo1120
콜라 문제
상단으로

티스토리툴바