https://school.programmers.co.kr/learn/courses/30/lessons/42746
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요.
예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다.
0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요.
import (
"sort"
"strconv"
"strings"
)
func solution(numbers []int) string {
sort.Slice(numbers, func(i, j int) bool {
a := strconv.Itoa(numbers[i])
b := strconv.Itoa(numbers[j])
return a+b > b+a
})
if numbers[0] == 0 {
return "0"
}
var result strings.Builder
for _, n := range numbers {
result.WriteString(strconv.Itoa(n))
}
return result.String()
}
[Programmers] Lv.2 기능개발 (Go) (0) | 2022.11.25 |
---|---|
[Programmers] Lv.2 H-Index (Go) (0) | 2022.11.24 |
[Programmers] Lv.2 프린터 (Go) (0) | 2022.11.22 |
[Programmers] Lv.1 기사단원의 무기 (Go) (0) | 2022.11.21 |
[Programmers] Lv.2 두 큐 합 같게 만들기 (Go) (0) | 2022.11.20 |
댓글 영역