[백준 1065] 한수

Junyoung Park·2022년 7월 4일
0

코딩테스트

목록 보기
476/631
post-thumbnail

1. 문제 설명

한수

2. 문제 분석

세 자리 수 이상 수를 각 자리수 배열을 만들어서 특정한 수가 등차로 반복된다면 한수다.

3. 나의 풀이

import Foundation

func isArithmeticSequence(number: [String]) -> Bool {
    if number.count <= 2 {
        return true
    }
    
    let left = Int(number[0])!
    let right = Int(number[1])!
    let offset = left - right
    
    for idx in 1..<number.count-1 {
        let left = Int(number[idx])!
        let right = Int(number[idx+1])!
        let newOffset = left - right
        if offset != newOffset {
            return false
        }
    }
    return true
}


let N = Int(String(readLine()!))!
var total = 0
for number in 1...N {
    let newNumber = Array(String(number)).map{String($0)}
    if isArithmeticSequence(number: newNumber) {
        total += 1
    }
}

print(total)
profile
JUST DO IT

0개의 댓글