할루루 2018. 2. 22. 11:35
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
let input = Int(readLine()!)!
var count = 0
for number in 1...input{
    switch(number){
    case 1..<100:
        count+=1
    case 100..<1000:
        let numberToString = String(number)
        let a = Int(numberToString[numberToString.startIndex].description)!
        let b = Int(numberToString[numberToString.index(numberToString.startIndex, offsetBy: 1)].description)!
        let c = Int(numberToString[numberToString.index(numberToString.startIndex, offsetBy: 2)].description)!
        if(b - a == c - b){
            count += 1
        }
    default:
        break
    }
}
print(count)
cs



어떤 양의 정수 x의 자리수가 등차수열을 이룬다면, 그 수를 한수라고 한다.




입력은 1000보다 작은 자연수로 한정되어 있다.


1부터 99까지는 모두 한수이므로 나머지 경우에 대해서 각 자리수가 등차수열을 이루는지 검사한다.



Swift에서의 substring은 처음엔 익숙치 않지만 그런대로 쓸만한 것 같다.