Algorithm/Baekjoon Online Judge
1065번 '한수'
할루루
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은 처음엔 익숙치 않지만 그런대로 쓸만한 것 같다.