카테고리 없음

백준 2331번 반복수열 풀이

집빈지노 2019. 7. 6. 14:42

이번 문제는 dfs탐색과 유사한 반복수열에 관한 문제입니다.

문제의 링크는 그림 밑 주소로 가시면 됩니다.

https://www.acmicpc.net/problem/2331

  *정답 소스코드

이번 문제는 while문을 이용한 반복문으로 구현해 보았습니다.

pow 함수는 각자리수의 제곱을 구하는 함수, calc는 각자리수를 구해 총 합을 구하는 함수입니다.

 

수열이 continue되면서 전에 나왔던 숫자를 알아채는 방법은 check배열을 이용한 확인입니다.

이 문제의 중요한 포인트는 반복수열의 첫 번째 숫자위치를 알아내는 것인데,

이는 check배열에 처음부터 index, 즉 숫자의 위치를 저장해 (위에서는 i),

수열이 반복될 시에 위치를 반환하는 함수를 구현해 만들었습니다.

 

loop의 while문은 check를 이용해 숫자가 다시 나타날 때까지 반복해줍니다.