
10808번: 알파벳 개수
단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다.
www.acmicpc.net
간단한 문제 요약
소문자로 이루어진 단어 중에서 각 알파벳이 단어에 몇개씩 포함되어있는지 구하시오!
문제 풀이 | PS일지
문자열 친숙해지기!!
가장 쉽게 떠오른 방법은 String 타입의 문자 1개씩을 저장한 후에 a...z에서 대응하는 index를 증가시키는 방법을 생각했습니다.
C에서 게임 만들 때 자주 사용했던 ascii를 써보고 싶었습니다..
아스키 코드집을 보면 알 수 있는데
대문자 A는 65.
소문자 a는 97.
입니다..
String에서는 아스키 코드로 바꿀 수없지만 Character타입은 ascii로 바꿀 수 있어 이를 이용했습니다.
코드
var arr = Array(repeating: 0, count: 26)
_=readLine()!.map{Character(String($0))}.map { ch in
arr[Int(ch.asciiValue!)-97] += 1
}
print(arr.map{String($0)}.joined(separator: " "))
728x90
'백준 PS일지 > String' 카테고리의 다른 글
[백준/Swift] 7575: 바이러스 | PS일지 (0) | 2023.02.05 |
---|---|
[백준/Swift] 1701: Cubeditor | PS일지 (4) | 2023.02.03 |
[백준/Swift] 1305: 광고 문제 해석 | PS일지 :] (2) | 2023.01.28 |
[백준/Swift] 11656: 접미사 배열 (2) | 2023.01.17 |