알고리즘

[swift]백준 1065번 한수

real_water 2022. 3. 21. 23:35

1.문제

2.해결

1)1~99까지는 모두 한수이다.

   예: N이 25인 경우 a=2, 공차=3인 등차수열이다.

 

2)1~99이하는 입력 값 그대로 출력

3)100이상의 수는 각 자리수를 구한 후 (n2-n1)값과 (n3-n2)이 같다면 한수이므로 count한다.

4)입력 값이 1000일 경우는 정답을 그대로 출력해준다.

3.코드

import Foundation

let N = Int(readLine()!)!
var count = 99

if N<100{
    print(N)
}
else if N==1000{
    print(144)
}
else{
    for i in 100...N{
        let n1 = (i%1000)/100
        let n2 = (i%100)/10
        let n3 = (i%10)/1
        
        if (n2-n1) == (n3-n2){
            count += 1
        }
    }
    print(count)

}

 

4.결과

반응형