티스토리 뷰
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은 처음엔 익숙치 않지만 그런대로 쓸만한 것 같다.
'Algorithm > Baekjoon Online Judge' 카테고리의 다른 글
1152번 '단어의 개수' (0) | 2018.02.22 |
---|---|
1110번 '더하기 사이클' (0) | 2018.02.22 |
1008번 'A / B' (0) | 2018.02.22 |
1001번 'A - B' (0) | 2018.02.22 |
1000번 'A + B' (0) | 2018.02.22 |
댓글