JavaScript 코딩 연습 / K번째 수
              
          2020. 3. 17. 17:07ㆍToday I solved/Problems
문제 / 웹사이트
K번째 수 / 프로그래머스
난이도
Level 1
내용
모의고사를 치게 된 3명의 학생이 각각 [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ...], [2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ...], [3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5]의 패턴대로 문제를 찍기로 했습니다. 1번부터 마지막 문제까지의 정답이 들어있는 'answers' 배열이 주어질 때, 가장 많은 문제를 맞힌 학생의 번호을 구하는 함수를 작성하세요.
※ 가장 높은 점수를 받은 사람이 여럿일 경우, return 값은 오름차순으로 정렬되어 있어야 합니다.
예시
| array | commands | return | 
| [1, 5, 2, 6, 3, 7, 4] | [ [2, 5, 3], [4, 4, 1], [1, 7, 3] ] | [5, 6, 3] | 
공부해야 될 부분
- JavaScript에서의 변수/상수 선언방법
- 참고자료
 -  var
- JavaScript ES5까지는 유일했던 변수 선언방법
 - 변수를 재선언하는 것과 변수에 값을 재할당하는 것 모두 가능
 
 - let
- JavaScript ES6에서 도입된 변수 선언방법
 - 변수를 재선언하는 것은 불가능하지만 변수에 값을 재할당하는 것은 가능
 
 - const
- JavaScript ES6에서 도입된 상수 선언방법
 - 변수를 재선언하는 것과 변수에 값을 재할당하는 것 모두 불가능
 
 
 
개선해야 될 부분
- 변수/상수에 따라 유동적으로 let과 const 사용하기
- let: 변수의 값이 변할 경우
- 반복문 등
 
 - const: 변수의 값이 변하지 않을 경우 (상수)
 
 - let: 변수의 값이 변할 경우
 
내 답안 ≒ 모범 답안
function solution(array, commands) {
    return commands.map(cmd => {
        let start = cmd[0] - 1, end = cmd[1], index = cmd[2] - 1;
        return array.slice(start, end).sort((a, b) => a - b)[index];
    });
}'Today I solved > Problems' 카테고리의 다른 글
| Parallels Desktop에서 Mac의 로컬 React 앱에 접근하기 (0) | 2025.04.28 | 
|---|---|
| JavaScript 코딩 연습 / The Most Wanted Letter (0) | 2020.03.25 | 
| JavaScript 코딩 연습 / 모의고사 (0) | 2020.03.17 | 
| JavaScript 코딩 연습 / 완주하지 못한 선수 (0) | 2020.03.13 | 
| JavaScript 코딩 연습 / Weak Point (0) | 2020.03.12 |