๐ ๋ฌธ์
https://www.acmicpc.net/problem/1157
๐ ๋์ ํ์ด
๋ณด์๋ง์ ์๊ฐ์ด๋ฅผ ์ดํ๋ค. ์ ๋ ฅ๋ฐ๋ ๋จ์ด์ ์ต๋ ๊ธธ์ด๋ 100๋ง ์ด๊ณ , ์๊ฐ์ด... 2์ด๋ค! 2์ตํ๊น์ง ๋ฐ๋ณต์ด ๊ฐ๋ฅํ๋ค. ์๊ฐ๋ณด๋ค ์ฌ์ ๋กญ๊ฒ ์ฃผ์ด์ง ๋ฌธ์ ์๋ค.
์ฌ์ ๋กญ๊ฒ ๋ชจ๋ ๋จ์ด๋ฅผ ํ๋ฒ์ฉ ๋ฐ๋ณต๋๋ ค์ผ๊ฒ ๋ค๊ณ ํ๋จํ๊ณ , ์ด์ ์ด๋ป๊ฒ ์ค๋ณตํ์๋ฅผ ๊ฒํ ํด์ค๊ฑด์ง ์๊ฐํ๋ค. ๊ทธ๋ฅ ๋๋ ๋ณด์๋ง์ ์์คํค์ฝ๋๋ฅผ ์๊ฐํ๊ณ , ์์คํค์ฝ๋์ ๋ง์ถฐ์ 0๋ฐฐ์ด์ ๋ง๋ค์ด์ค๋ค ํด๋น ์๋ฆฌ์ +1์ฉ ํด์ฃผ๊ธฐ๋ฌํ๋ค.
๋จ์ด๋ ๋์๋ฌธ์ ๊ตฌ๋ถ์์ด ์ฃผ์ด์ง๊ณ , ๋ง์ง๋ง์๋ ๋๋ฌธ์๋ก ๊ฒฐ๊ตญ ์ถ๋ ฅํด์ค์ผํ๊ธฐ ๋๋ฌธ์ ๋๋ฌธ์ ๊ธฐ์ค์ผ๋ก ์์คํค์ฝ๋ ๋ฐฐ์ด์ ์์ฑํ๋ค. ์์คํค์ฝ๋๋ ๋๋ฌธ์ A๊ฐ 97, Z๊ฐ 122์ด๋ฏ๋ก, 0๋ฐฐ์ด์ ๊ธธ์ด๋ 122๋ก ๋ง๋ค์ด์ค๋ค.
ํ ๊ธ์์ฉ -> ์์คํค์ฝ๋ int๋ก ๋ณํ -> ํด๋น ์๋ฆฌ์ +1 -> ๋ง์ง๋ง์ max๊ฐ์ฐพ์์ max๊ฐ์ด 1๊ฐ๋ผ๋ฉด ํด๋น ์๋ฆฌ์ ๋๋ฌธ์ ์ํ๋ฒณ์ถ๋ ฅ
๐ ์ ๋ต์ฝ๋
import Foundation
let word = readLine()!.map{ $0.uppercased() }
// A: 97 , Z: 122
private func solution(_ word: [String]) -> String {
var alpahbet = Array(repeating: 0, count: 122)
for char in word {
alpahbet[Int(UnicodeScalar(char)!.value)] += 1
}
let maxNum = alpahbet.max()!
if alpahbet.filter({ $0 == maxNum }).count > 1 {
return "?"
}
return String(UnicodeScalar(alpahbet.firstIndex(of: maxNum)!)!)
}
print(solution(word))
'Algorithm > Baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] (Swift) 1244๋ฒ - ์ค์์น ์ผ๊ณ ๋๊ธฐ (๊ตฌํ) (0) | 2023.02.15 |
---|---|
[๋ฐฑ์ค] (Swift) 10431๋ฒ - ์ค ์ธ์ฐ๊ธฐ (๊ตฌํ, ์ค๋ฒ5) (0) | 2023.02.13 |
[ํ๋ก๊ทธ๋๋จธ์ค] (Python) ๋จ์์นด๋ฉ๋ผ (lv.3, ๊ทธ๋ฆฌ๋) (0) | 2023.02.08 |
[๋ฐฑ์ค] (Swift) 1541๋ฒ - ์์ด๋ฒ๋ฆฐ ๊ดํธ (๊ทธ๋ฆฌ๋) (0) | 2023.02.06 |
[๋ฐฑ์ค] (Swift) 1783๋ฒ - ๋ณ๋ ๋์ดํธ (0) | 2023.02.03 |