본문 바로가기

코딩테스트/프로그래머스

[프로그래머스] 콜라 문제

728x90
반응형

문제 설명
이제 점점 문제가 길어질거 같아 링크로 대체해야겠다

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

 

풀이와 코드

처음에 b를 고려하지 않고 코드를 짜서 제출하니까 죄다 틀려버려서 뭐야! 했다 ㅋㅋ

사실 문제 이해하는 것도 꽤 시간 걸렸다... 그래서 질문하기에 다른 테스트 케이스 줍줍해와서 그림 그려가면서 이해함.

발그림이지만 이해하는데 도움이 됐다..! 문제의 핵심은 결국 돌려 받은 콜라의 갯수니까...!

직관적으로 그림처럼 코드를 짰더니 통과됐다!!

#include <string>
#include <vector>
#include <iostream>

using namespace std;

int solution(int a, int b, int n) {
    int answer = 0;
    int received = 0;
    
    while(n>=a){
        received = n / a * b;
        n = received + n % a ;
        answer += received;
    }

    return answer;
}

한 줄로 코드 짠 사람도 있던데... 알고리즘 생각하는 머리도 재능인거 같다...

728x90
반응형