-
배열_프로그래머스_level2_가장 큰 수알고리즘/알고리즘 문제풀이 2021. 7. 5. 20:49
import Foundation func solution(_ numbers:[Int]) -> String { let temp = numbers let sorted = temp.sorted(by: {(left,right)-> Bool in var stringedLeft = String(left) var stringedRight = String(right) var savedLeft : Int? var savedRight : Int? var counter = 0 while true { if stringedLeft.first != nil { savedLeft = stringedLeft.first!.wholeNumberValue! stringedLeft.removeFirst() } if stringedRight.first != nil { savedRight = stringedRight.first!.wholeNumberValue! stringedRight.removeFirst() } if savedLeft! != savedRight! { break } if counter > 3 { break } } return savedLeft! > savedRight! //firstLeft > firstRight }) return sorted.map({String($0)}).joined() }
오답
로직에 문제는 없는데 실행 시간이 너무 김.
예상으로, numbers의 count가 너무 큰 경우에 timeout이 발생하는 것으로 봄.
시간을 줄이는 새로운 로직을 생각해내야 함.'알고리즘 > 알고리즘 문제풀이' 카테고리의 다른 글
해시_프로그래머스_위장 (0) 2021.07.14 해시_LeetCode_N-Repeated Element in Size 2N Array (0) 2021.07.14 완전탐색_LeetCode_ContainsDuplicate (0) 2021.07.08 배열_프로그래머스_level1_k번째 수 (0) 2021.07.05 배열_백준_9237 (0) 2021.07.05