본문 바로가기

PS/백준

[BOJ] 백준 5622 다이얼 (Swift)

반응형

문제

https://www.acmicpc.net/problem/5622

 

5622번: 다이얼

첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다.

www.acmicpc.net

풀이

  • 해당 알파벳을 입력하는데 걸리는 시간을 배열로 초기화 해줌
  • 알파벳은 전부 대문자이고, "A"의 아스키 코드 값이 65
  • 따라서 입력받은 단어에서 65를 뺀 값을 인덱스로 사용하면 해당 알파벳을 입력하는데 걸리는 시간을 구할 수 있음
  • 모든 알파벳을 입력하는데 걸리는 시간을 출력해주면 끝! 🫡

소스코드

let times = [3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 10, 10, 10, 10]
let word = readLine()!.map { times[Int($0.asciiValue!) - 65] }.reduce(0, +)
print(word)
view raw 다이얼.swift hosted with ❤ by GitHub

후기

  • 아스키 코드 값과 걸리는 시간을 배열로 초기화하면 사용하면 쉽게 풀 수 있는 문제
반응형