알고리즘 C#
백준 1110번 더하기 사이클 C#으로 문제 풀어보기
minsoungdev
2025. 7. 21. 23:56
안녕세요 박민성입니다.
오늘은 백준 1110번 더하기 사이클을 풀어 보겠습니다.

이 문제를 보면
입력은 0보다 크거나 같고, 99보다 작거나 같은 정수입니다.
입력이 0보다 작다면 앞에 0을 붙여 두 자리 수로 만듭니다 (예: 입력 4 -> 04 입력 8 -> 08)
출력은 사이클 길이를 출력합니다.

일단 입력 값을 a로 저장하고 나중에 같은지를 비교하기 위해 초기값 A로 a를 저장합니다.

그리고 사이클 횟수를 담을 count라는 변수와 각 자리의 수를 더한 값을 담는 num이라는 변수도 만들어줍니다.
이 문제를 어떻게 풀어야 할까 생각을 해봤을 때
입력은 99이하이니 a에 10을 나누 값을 x에 저장하고 10으로 나눈 나머지 값을 y로 저장해 x와 y를 더하고
num에 담은 후 y와 num을 자료형을 int에서 string으로 파싱하고 합쳐서 b에 저장하고
기존 값을 저장한 A와 비교를 하여 다르면 계속 while문을 돌려야겠다고 생각했습니다.

하지만 이러니 자료형이 안 맞아서 비교가 안되었습니다.
또한 a값이 변하지 않아 똑같은 수만 사이클로 돌아갔습니다.

그래서 a에 파싱한 y와 num(NUM[0])을 int.Parse로 파싱 하여 넣어서 비교를 하였습니다.

마지막으로 사이클에 횟수 count를 ++해주고 출력하면 끝입니다.

이것이 전체 코드입니다. 이렇게 백준에 제출하였더니

정답이었습니다.