개?발/프로그래머스

[PCCE 기출문제] 3번 / 수 나누기 (c++)

YUEIC 2025. 12. 7. 09:40
#include <iostream>

using namespace std;

int main(void) {
    int number;
    cin >> number;
    
    int answer = 0;
    
    for(int i=0; i<1; i++){
        answer += number % 100;
        number /= 100;
    }
    cout << answer << endl;
    return 0;
}

 

주어진 위 코드를 '한 줄' 만 고쳐서 디버깅하여 해결해야 하는 문제.

 

1. 위 반복문은 주어진 숫자를 100으로 나눈 나머지 (무조건 맨 뒤 두 자리)를 answer 변수에 더한다.

2. 그리고 100으로 나눈 몫을 원래 변수에 저장한다.

>> 맨 뒤 두자리를 정답에 계속 더하고, 더한 만큼 잘라낸다.

 

하지만 i<1이라는 제약조건 때문에 딱 한 번만 실행된다.

 

따라서 이 반복문을 number의 자리수가 남아있지 않을 때까지 돌아갈 수 있도록 해야한다.

#include <iostream>

using namespace std;

int main(void) {
    int number;
    cin >> number;
    
    int answer = 0;
    
    //수정!
    for(int i=0; number > 0; i++){
        answer += number % 100;
        number /= 100;
    }
    cout << answer << endl;
    return 0;
}

 

위와 같이 number가 0이 아닐때 계속해서 반복되게 하면 된다. number를 100으로 계속해서 잘라내다 마지막 남은 2자리마저 잘라내고 나면 number는 0이 될 것 이므로 그때까지만 반복하도록 만드는 것.

 

오랜만에 코드문제 풀려니 이런 간단한것도 꽤 생각하게 만든다.

'개?발 > 프로그래머스' 카테고리의 다른 글

택배 상자 꺼내기(Java)  (1) 2025.05.07
삼총사(Java)  (0) 2024.08.13
이상한 문자 만들기(Java)  (0) 2024.08.13
키패드 누르기 (Java)  (0) 2024.08.12
크기가 작은 부분문자열 (Java)  (0) 2024.08.06