Programmers 모의고사 JavaScript
문제 설명
1 | 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. |
제한 조건
- 시험은 최대 10,000 문제로 구성되어있습니다.
- 문제의 정답은 1, 2, 3, 4, 5중 하나입니다.
- 가장 높은 점수를 받은 사람이 여럿일 경우, return하는 값을 오름차순 정렬해주세요.
입출력 예
answers | return |
---|---|
[1,2,3,4,5] | [1] |
[1,3,2,4,2] | [1,2,3] |
내 풀이
- 반복되는 a,b,c의 수를 answers의 길이만큼 배열로 만들어서 저장한다.
- answers와 비교하여 맞는 정답수의 길이를 구한다.
- a,b,c 중 가장 큰 길이를 리턴한다.
1 | const makeArray = (arr, length) => { |
a,b,c의 배열 만드는 코드
1 | const makeArray = (arr, length) => { |
arr이 [1, 2, 3, 4, 5]이고 length가 8이라면, […Array(length)]은 [undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined]
를 만들게 되고, i(index)
가 0일때 arr[0 % 5]
는 0이므로 arr의 0번째 인덱스 1
이 들어가게 된다.
다른건 필터하고 높은 값 구해서 answer에 push 해주는 것..
다른사람의 풀이를 보았다.
1 | function solution(answers) { |
간단, 나처럼 배열을 만드는 과정없이 바로 filter를 했다.