반응형
○
그리디 Silver 3
백준 1213 팰린드롬 만들기
* 팰린드롬 : 거꾸로 읽어도 동일한 문장, 숫자, 문자열 ex) 이효리, 토마토
임한수와 임문빈은 서로 사랑하는 사이이다.
근친상간 문제 인가요..? (개소리임 제송 ㅎ)
// 69108KB 8ms
let name = readLine()!
print(palindrome(word: name))
func palindrome(word: String) -> String {
var dict = [Character: Int]()
var oddNumberCount: Int = 0
var center: String = ""
var result: String = ""
for i in name {
if let _ = dict[i] {
dict[i]! += 1
} else {
dict[i] = 1
}
}
for (key, value) in dict.sorted(by: {$0.0 < $1.0}) {
if value % 2 == 1 {
center = String(key)
oddNumberCount += 1
if oddNumberCount > 1 {
return "I'm Sorry Hansoo"
}
}
result += String(repeating: String(key), count: value / 2)
}
return (result + center + String(result.reversed()))
}
728x90
반응형
'Algorithm > Baekjoon' 카테고리의 다른 글
[Swift 알고리즘] 백준 1904 01타일 (0) | 2024.01.19 |
---|---|
[Swift 알고리즘] 백준 1735 분수 합 (0) | 2024.01.18 |
[Swift 알고리즘] 백준 15565 귀여운 라이언 (0) | 2023.12.25 |
[Swift 알고리즘] 백준 10025 게으른 백곰 (1) | 2023.12.23 |
[Swift 알고리즘] 백준 1806 부분합 (0) | 2023.09.10 |