문제 설명
배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다.
예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면
배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요.
제한사항[1, 5, 2, 6, 3, 7, 4] | [[2, 5, 3], [4, 4, 1], [1, 7, 3]] | [5, 6, 3] |
[1, 5, 2, 6, 3, 7, 4]를 2번째부터 5번째까지 자른 후 정렬합니다. [2, 3, 5, 6]의 세 번째 숫자는 5입니다.
[1, 5, 2, 6, 3, 7, 4]를 4번째부터 4번째까지 자른 후 정렬합니다. [6]의 첫 번째 숫자는 6입니다.
[1, 5, 2, 6, 3, 7, 4]를 1번째부터 7번째까지 자릅니다. [1, 2, 3, 4, 5, 6, 7]의 세 번째 숫자는 3입니다.
import (
"sort"
)
func solution(array []int, commands [][]int) []int {
result := []int{}
for i:=0; i < len(commands); i++{
sor := make([]int, len(array),len(array))
s, e, k := commands[i][0], commands[i][1], commands[i][2]
copy(sor, array)
sor = sor[s-1:e]
sort.Ints(sor)
result = append(result, sor[k-1])
}
return result
}
import "sort"
func solution(array []int, commands [][]int) []int {
var ret []int
for _, cmd := range commands {
slice := append([]int{}, array[cmd[0]-1:cmd[1]]...)
sort.Ints(slice)
ret = append(ret, slice[cmd[2]-1])
}
return ret
}
[Go] 프로그래머스 연습문제 LV1 - 나누어 떨어지는 숫자 배열 (0) | 2022.05.28 |
---|---|
[Go] 프로그래머스 완전탐색 LV1 - 모의고사 (0) | 2022.05.28 |
[Go] 프로그래머스 월간 코드 챌린지 시즌3 LV1 - 없는 숫자 더하기 (0) | 2022.05.28 |
[Go] 프로그래머스 위클리 챌린지 LV1 - 부족한 금액 계산하기 (0) | 2022.05.28 |
[Go] 프로그래머스 월간 코드 챌린지 시즌1 LV1 - 내적 (0) | 2022.05.26 |
댓글 영역