- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 코어 자바스크립트
- LEVEL 1
- Docker
- 배포
- CRUD
- 에러핸들링
- 프로그래머스
- Refactoring
- javascript
- TIL
- TWIL
- 면접을 위한 cs 전공지식 노트
- 리팩터링 2판
- Git
- 코딩테스트
- java
- typescript
- TMIL
- react
- LEVEL 2
- MariaDB
- sql
- LEVEL1
- 알고리즘
- 아고라스테이츠
- Err-Handling
- 오늘도 개발자가 안된다고 말했다
- CSS
- mongodb
- First Project
Archives
성장에 목마른 코린이
(완전탐색) 모의고사 220409 본문
728x90
나의 솔루션
function solution(answers) {
let one = [1,2,3,4,5];
let two = [2,1,2,3,2,4,2,5];
let three = [3,3,1,1,2,2,4,4,5,5];
let correct = [0,0,0];
let max = 0;
let ans = [];
// 맞은 갯수 알아내기
for (let i = 0; i < answers.length; i++) {
if (answers[i] === one[i%5]) {
correct[0]++;
}
if (answers[i] === two[i%8]) {
correct[1]++;
}
if (answers[i] === three[i%10]) {
correct[2]++;
}
}
// 많이 맞은 문제의 수 구하기
for (let j = 0; j < correct.length; j++) {
if (correct[j] >= max) {
max = correct[j];
}
}
// 문제 가장 많이 맞힌 사람 구하기,
// 가장 높은 점수를 받은 사람이 여럿일 경우
// 오름차순 정렬 상태로 리턴
for (let k = 0; k < correct.length; k++) {
if (max === correct[k]) {
ans.push(k+1);
}
}
return ans;
}
좋아요가 가장 많이 달린 솔루션
function solution(answers) {
var answer = [];
var a1 = [1, 2, 3, 4, 5];
var a2 = [2, 1, 2, 3, 2, 4, 2, 5]
var a3 = [ 3, 3, 1, 1, 2, 2, 4, 4, 5, 5];
var a1c = answers.filter((a,i)=> a === a1[i%a1.length]).length;
var a2c = answers.filter((a,i)=> a === a2[i%a2.length]).length;
var a3c = answers.filter((a,i)=> a === a3[i%a3.length]).length;
var max = Math.max(a1c,a2c,a3c);
if (a1c === max) {answer.push(1)};
if (a2c === max) {answer.push(2)};
if (a3c === max) {answer.push(3)};
return answer;
}
느낀점
나머지 %를 이용해서 구현하는 부분을 못떠올려서 구글링을 하면서 해결했습니다..
이 부분을 이해할때 일일이 대입해서 보니까 이해가 됬습니다. 더 열심히 공부해야겠다고 생각했습니다!
그리고 filter와 더 친해지자....
for문처럼 filter와 친해지는 그날까지 화이팅!
'코딩 테스트 준비 > 프로그래머스 level 1' 카테고리의 다른 글
(연습문제) 두 정수 사이의 합 220412 (0) | 2022.04.12 |
---|---|
두 개 뽑아서 더하기 220412 (0) | 2022.04.12 |
(탐욕법) 체육복 220409 (0) | 2022.04.09 |
(해시) 완주하지 못한 선수 220406 (0) | 2022.04.06 |
(정렬) K번째수 220406 (0) | 2022.04.06 |
Comments