(Swift) 백준 10809 알파벳 찾기

SteadySlower·2022년 5월 11일
0

Coding Test

목록 보기
22/305

10809번: 알파벳 찾기

let a = Character("a").asciiValue!

let inputArray = readLine()!.map { $0.asciiValue! - a }

var check = Array(repeating: -1, count: 26)

(0..<26).forEach { i in
    let askii = UInt8(i)
    if inputArray.contains(askii) {
        check[i] = inputArray.firstIndex(of: askii)!
    }
}

check.forEach { num in
    print(num, terminator: " ")
}
  1. (알파벳의 아스키 코드) - (”a”의 아스키 코드)를 하면 a ~ z를 각각 0 ~ 25로 나타낼 수 있습니다.
    1. 입력된 문자열을 UInt8의 배열로 바꾸어 줍니다.
  2. check 배열에 처음 나온 index를 저장해줍시다.
  3. check 배열을 한 줄로 출력하면 됩니다.
let a = Character("a").asciiValue!

let inputArray = readLine()!.map { $0.asciiValue! - a }

(0..<26).forEach { i in
    let askii = UInt8(i)
    if inputArray.contains(askii) {
        print(inputArray.firstIndex(of: askii)!, terminator: " ")
    } else {
        print(-1, terminator: " ")
    }
}

→ check 없이 바로바로 print하면 더 코드를 짧게 쓸 수 있습니다.

profile
백과사전 보다 항해일지(혹은 표류일지)를 지향합니다.

0개의 댓글