본문 바로가기

아래로 스크롤 해주세요!

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

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