본문 바로가기

아래로 스크롤 해주세요!

My Reference Book

-

제가 배웠던것을 한곳에 정리해보았어요!

HTML

HTML 태그 톺아보기

HTML

자세히보기

CSS

CSS 속성 톺아보기

CSS

자세히보기

JAVASCRIPT

JS 실행문 톺아보기

JAVASCRIPT

자세히보기

최신댓글

프로그래머스

프로그래머스 1단계 : K번째 수!

by C0Di 2022. 12. 5.
728x90

프로그래머스 1단계

k - 번째 숫자를 구해보자


K번째 수!

for과 push를 통한 방법입니다.

1. commands의 길이 만큼 반복. 2. 자르고 정렬 : slice(시작점, 끝점).sort(오름차순 정렬) 3. answer에 n번째 숫자 push

function solution(array, commands) {
    var answer = [];
    
    for(var i=0; i<commands.length;i++){
        var list = array.slice(commands[i][0]-1, commands[i]
        							[1]).sort((a,b)=>{return a-b});
        
        answer.push(list[commands[i][2]-1]);
    }

    return answer;
}

K번째 수 : 다른 사람 풀이

for/if 와 sort를 통한 방법입니다.

1. commands 각 배열의 요소들을 map의 from(시작), to(끝), k(k번째 수) 인자로 주면서 명시적으로 표현했고
2. array를 from, to 조건에 맞게 자르고 정렬한 뒤에 k번째 수를 구하여
3. commands 배열을 재구성한 뒤에 반환하는 방법이다.

let array = [1, 5, 2, 6, 3, 7, 4];
let commands = [
    [2, 5, 3],
    [4, 4, 1],
    [1, 7, 3],
];

function solution(array, commands) {
    return commands.map(
        ([from, to, k]) =>
            array.slice(from - 1, to).sort((a, b) => a - b)[k - 1],
    );
}

console.log(solution(array, commands));
728x90
반응형

댓글

#HASH_TAGS

-

1

제이쿼리 울적하니 꽃을 달아봤습니다 scroll-snap-type 다크모드 화사한가요? 메서드 공부 숙제가 다양해서 너무 좋아요 오늘 조업 마감했습니다. 멈추지 않는 ' j ' 시리-즈 오징어 한마리 수확 완료! 선택해주세요 ImageSlideEffect 슬라이드 결과 : 월요일 코딩 Method 필터선택자 scroll-snap-align HTML 이건 또 뭐람 오늘도 웹표준은.. JQuery 오늘은 내가바로 오징어! 내일은 즐거운 월요일 코드 오징어 1Kg 당 3000원 오징어 두마리 포획 완료