반응형
안녕하세요. 개발 중인 정주입니다.
오늘은 "프로그래머스(Lv.2) - 가장 큰 수" 문제를 풀었습니다.
목차
Github
문제 링크
풀이
이번 문제는 정렬 문제입니다.
두 개의 정수를 가져와 문자열로 이어 붙였을 때 A + B가 더 큰지, B + A가 더 큰지 체크하여 정렬하면 되는 문제였습니다.
이때, 가장 큰 "수"를 문자열로 리턴하는 것이기 때문에 0이 연속해서 입력되는 경우 00, 000이 아니라 "0"으로 출력을 해줘야 합니다.
저는 방법이 떠오르지 않아 다른 분의 풀이 방법을 참고해서 해결했는데요.
처음 봤을 때 풀이 방법이 잘 떠오르지 않는 문제 같습니다.
스스로 풀지 못한 문제는 1~2주 뒤에 다시 한번 풀어봐야겠습니다.
전체 코드
import Foundation
func solution(_ numbers:[Int]) -> String {
var numbers = numbers.map { String($0) }.sorted {
return Int($0 + $1)! > Int($1 + $0)!
}
if numbers[0] == "0" {
return "0"
}
return numbers.joined()
}
아직은 초보 개발자입니다.
더 효율적인 코드 훈수 환영합니다!
공감과 댓글 부탁드립니다.
반응형