본문 바로가기

아래로 스크롤 해주세요!

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

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