코드는 Swift로 작성하였습니다.
제가 직접 작성한 코드라 최적의 코드가 아닐 수 있음을 알려드립니다. 🐹
문제는 저작권 관련 문제가 있을 수 있어서 적어두지 않았습니다.
처음 든 생각 : 호오 어렵네 ? 저기서 어떻게 숫자만 뽑아낸담 ...
return되는 배열 안의 숫자 순서도 중요한듯한디...
-> 많이 나온 순서로 출력되고 있구나
import Foundation
func solution(_ s:String) -> [Int] {
var result = [Int]()
// } , { 기준으로 쪼갠다
var new = s.components(separatedBy: ["}","{", ","])
var myTuple: [String:Int] = [:]
// Int로 바꿨을 때 nil이 아니라면 숫자라는 뜻
// 숫자가 아닌데 해당 키에 값이 없다면 1 넣어주고 있다면 value에 1 더해준다.
for i in new {
if Int(i) != nil {
myTuple[i] = myTuple[i] == nil ? 1 : myTuple[i]! + 1
}
}
// value가 큰 순으로 정렬
let newTuple = myTuple.sorted{$0.value > $1.value}
// 앞에서부터 key값을 result 배열에 넣어준다.
for i in newTuple {
result.append(Int(i.key)!)
}
return result
}
잘 짜여진 코드인지는 모르겠다 ...ㅠ_ㅠ for문 도배 ...