반응형
문제
https://www.acmicpc.net/problem/5622
5622번: 다이얼
첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다.
www.acmicpc.net
풀이
- 해당 알파벳을 입력하는데 걸리는 시간을 배열로 초기화 해줌
- 알파벳은 전부 대문자이고, "A"의 아스키 코드 값이 65
- 따라서 입력받은 단어에서 65를 뺀 값을 인덱스로 사용하면 해당 알파벳을 입력하는데 걸리는 시간을 구할 수 있음
- 모든 알파벳을 입력하는데 걸리는 시간을 출력해주면 끝! 🫡
소스코드
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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) |
후기
- 아스키 코드 값과 걸리는 시간을 배열로 초기화하면 사용하면 쉽게 풀 수 있는 문제
반응형
'PS > 백준' 카테고리의 다른 글
[BOJ] 백준 1316 그룹 단어 체커 (Swift) (0) | 2023.01.02 |
---|---|
[BOJ] 백준 2941 크로아티아 알파벳 (Swift) (0) | 2023.01.02 |
[BOJ] 백준 2908 상수 (Swift) (0) | 2023.01.02 |
[BOJ] 백준 1152 단어의 개수 (Swift) (0) | 2023.01.02 |
[BOJ] 백준 1157 단어 공부 (Swift) (0) | 2023.01.02 |