728x90
[코딩 기초 트레이닝] 뒤에서 5등 위로
구분
코딩테스트 연습 > 코딩 기초 트레이닝
풀이 요약
배열을 오름차 순으로 정렬 후 가장 작은 수 5자리를 제외한 모든 수를 출력하는 문제
나의 풀이
function solution(num_list) {
return num_list.sort((a,b)=>a-b).slice(5)
}
주어진 배열을 오름차순으로 정렬하기 위해 sort 메서드를 이용했습니다.
주어진 배열 num_list가 [12, 4, 15, 46, 38, 1, 14, 56, 32, 10] 라고 할때 ,
sort((a,b)⇒a-b) 는 일반적으로 아래처럼 작동합니다.
반환값이 음수 → a가 b보다 앞에 위치
반환값이 양수 → a가 b보다 뒤에 위치
반환값이 0 → a와 b의 순서를 비교하지 않음
예를들어, a=12, b=4 이고 둘을 비교하면 12-4=8
즉, 양수이기 때문에 a인 12가 b인 8보다 뒤에 위치 하게 되어
[4, 12, 15, 46, 38, 1, 14, 56, 32, 10] 처럼 위치가 바뀝니다.
a=12, b=15 이고 a-b 의 값은 -3인 음수 이므로 12가 15보다 앞에 위치 합니다.
[4, 12, 15, 46, 38, 1, 14, 56, 32, 10]
a=15, b=46 a-b= -31 (음수) 이므로 a인 15가 b인 46보다 앞에 위치합니다.
[4, 12, 15, 46, 38, 1, 14, 56, 32, 10]
위 과정을 배열의 모든 요소가 오름차순으로 정렬될 때까지 반복하게됩니다.
또한, slice 메서드를 활용하여 인덱스 5번부터 배열 끝까지의 요소를 반환했습니다.
728x90
'코테 > 프로그래머스' 카테고리의 다른 글
[코딩 기초 트레이닝] 배열의 길이에 따라 다른 연산하기 (0) | 2024.07.09 |
---|---|
[코딩 기초 트레이닝] 뒤에서 5등까지 (0) | 2024.07.09 |
[코딩 기초 트레이닝] 정수 부분 (0) | 2024.07.09 |
[코딩 기초 트레이닝] 문자열 정수의 합 (0) | 2024.07.09 |
[코딩 기초 트레이닝] 문자열을 정수로 변환하기 (0) | 2024.07.09 |