본문 바로가기
Study (etc)/Problem Solving

[BOJ / C] 1110번 : 더하기 사이클

by Haren 2019. 5. 6.

<백준 온라인 저지 : 1110번>

- 더하기 사이클 -






문제설명










이 문제를 풀며


- 숫자의 십의 자리와 일의 자리를 분리하는게 필요했다. 십의 자리는 (입력받은 정수) / 10 으로 분리했고, 일의 자리는 (입력받은 정수) % 10으로 분리했다.

- 처음에는 그냥 입력받은 수를 바로 계산을 해버렸지만, 그렇게 할 경우 정상적으로 답이 출력되지 않아 임시변수를 선언하여 사용하였다. 소스코드를 보면 임시 변수를 어떻게 사용했는지 알 수 있을 것이다.

- 꽤 오래 고민을 하며 풀었던 문제이다.





내 소스



#include <stdio.h>

int main()
{
    int num,tmp; //tmp는 계산 결과값을 담을 임시변수
    int a,b,c;
    int result, count=0;
    
    scanf("%d", &num);
    
    tmp = num; //먼저 num값을 tmp에 대입.
    while(1)
    {
        a = tmp / 10;
        b = tmp % 10;
        c = (a+b) % 10;
        
        count++;
        
        result = (b*10)+c;
        tmp = result;
        if(result == num)
            break;
        
    }
    printf("%d\n",count);
}






채점 결과




'Study (etc) > Problem Solving' 카테고리의 다른 글

[BOJ / Python] 10172번 : 개  (0) 2019.05.06
[BOJ / Python] 7287번 : 등록  (0) 2019.05.06
[BOJ / Python ] 2739번 : 구구단  (0) 2019.05.02
[BOJ / C] 2445번 : 별 찍기 -8  (0) 2019.04.11
[BOJ / C] 2444번 : 별 찍기 - 7  (0) 2019.04.05