[백준] 1110번: 더하기 사이클 c언어
Coding/Basic

[백준] 1110번: 더하기 사이클 c언어

백준 1110번 더하기 사이클 문제 링크

1110

문제에서 파악해야 할 핵심요소 및 마인드맵

  • int 자료형의 십, 일의 자리 숫자는 어떻게 구할 수 있는가?
    • String형으로 변환 후 [0],[1]의 자리로 구하고, int형으로 변환
    • (채택) /10, %10로 각각 구해내기
  • 조건이 이루어질 때까지 이루어지는 사이클
    • do~while문 + while문에 조건 적기
    • while문 + while문에 조건 적기
    • while문(1) + while문 내부에 조건 + break 적기 << 반복을 세야 하는 경우 유리하다.

주의해야 할 점

  • 값이 계속 변하므로 고정값에는 다른 변수를 만들어서 담아놓아야 한다. <<이번의 실수! 주의하자.
  • 공통적으로 적용되는 것은 큰 사이클 안에 넣자. 각각 적용할 생각하지 말고

내 코드

#include <stdio.h>
int main(void) {
    int input, tmp = 0, ten, one, res = 0, cnt = 0;
    scanf("%d", &input);
    tmp = input;
 
    while (1) {
        if (tmp < 10)
        	ten = 0;
        else
        	ten = tmp / 10;
        one = tmp % 10;
        res = ten + one;
        
        cnt++;
        ten = tmp % 10;
        one = res % 10;
        tmp = (ten * 10) + one;
 
        if (tmp == input)
            break;
    }
    printf("%d", cnt);
    return 0;
}