성장에 목마른 코린이

(정렬) K번째수 220406 본문

코딩 테스트 준비/프로그래머스 level 1

(정렬) K번째수 220406

성장하는 코린이 2022. 4. 6. 00:51
728x90

나의 솔루션

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

좋아요가 가장 많이 달린 솔루션

function solution(array, commands) {
    return commands.map(command => {
        const [sPosition, ePosition, position] = command
        const newArray = array
            .filter((value, fIndex) => fIndex >= sPosition - 1 && fIndex <= ePosition - 1)
            .sort((a,b) => a - b)    

        return newArray[position - 1]
    })
}

느낀점

문제 지문을 이해하는데 아직 시간을 투자 하는 것이 습관이 되지 않았다.. 맨날 지문 대충 읽는 듯..

음 아직 map 쓰는 것 보다 for문 쓰는거 훨씬 더 편하다.. map이랑 좀더 친해져야할 듯?

그리고 아직 slice사용이 헷갈릴때가 있다는게 좀 .. 많이 부족하다고 느낀다

commands[i][0]-1 에서 -1 해주는 부분 때문에 생각보다 푸는데 지체를 좀 했다.

내 코드에 debugger가 붙어있는 이유가 그때문이다 ㅋㅋㅋ 이거땜에 debugger 활용 ㅠㅠ

 

그래도 프로그래머스 처음 시작 했는데 되게 재밌었다! 약간 게임처럼 매일 풀어야겠다!

Comments