Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- heap
- Brute Force
- 타겟 넘버
- hash
- 기능개발
- 다리를 지나는 트럭
- react-native-navigation
- Stack
- Virtual DOM
- 주식
- 전화번호 목록
- sorting
- 깊이우선탐색
- Data Structure
- 이중우선순위큐
- 더 맵게
- Javascript
- 소수찾기
- react
- Queue
- Programmers
- 완주하지 못한 선수
- browser workflow
- react-native
- 넓이우선탐색
- react-native bind
- 가장 큰 수
- k번째수
- 디스크 컨트롤러
- Algorithm
Archives
- Today
- Total
개발 블로그
[프로그래머스/Javascript/Brute Force] 모의고사 본문
1. 문제 설명(출처: programmers.co.kr/learn/courses/30/lessons/42840)
2. 문제 풀이
1) 수포자들의 반복 패턴을 통해서 각각의 배열을 만든다.
2) 수포자들의 반복패턴과 입력값 answers를 순서대로 비교하며 아래 명령을 반복한다.
2-1) 수포자1이 맞춘 문제 갯수를 grades[0]에 추가한다.
2-2) 수포자2이 맞춘 문제 갯수를 grades[1]에 추가한다.
2-3) 수포자3이 맞춘 문제 갯수를 grades[2]에 추가한다.
3) 3명의 수포자들 중에 가장 문제를 많이 맞춘 수포자를 찾는다.
4) 가장 문제를 많이 맞춘 수포자와 동점자를 찾을 뒤, 그 수포자의 번호를 반환한다.
3. 결과 코드
function solution(answers) {
const arr1 = [1, 2, 3, 4, 5];
const arr2 = [2, 1, 2, 3, 2, 4, 2, 5];
const arr3 = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5];
let grades = [0,0,0];
for(let i = 0; i < answers.length; i++){
if(answers[i] === arr1[i % 5])
grades[0]++;
if(answers[i] === arr2[i % 8])
grades[1]++;
if(answers[i] === arr3[i % 10])
grades[2]++;
}
let max_grade = Math.max(...grades);
return grades
.map((g, i) => { if(g === max_grade) return i+1 })
.filter(e => e != undefined);
}
'IT > Programmers' 카테고리의 다른 글
[프로그래머스/Javascript/Brute Force] 카펫 (0) | 2021.04.14 |
---|---|
[프로그래머스/Javascript/Brute Force] 소수 찾기 (0) | 2021.04.13 |
[프로그래머스/Javascript/Hash] 베스트앨범 (0) | 2021.04.12 |
[프로그래머스/Javascript/Hash] 위장 (0) | 2021.04.11 |
[프로그래머스/Python3/Hash] 전화번호 목록 (0) | 2021.04.10 |