티스토리 뷰
https://school.programmers.co.kr/learn/courses/30/lessons/42840
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
for문
function solution(answers) {
const answer = []
const supo = [
[1, 2, 3, 4, 5], // 1번 수포자의 답
[2, 1, 2, 3, 2, 4, 2, 5], // 2번 수포자의 답
[3, 3, 1, 1, 2, 2, 4, 4, 5, 5], // 3번 수포자의 답
]
let one = 0 // 1번 수포자의 점수
let two = 0 // 2번 수포자의 점수
let three = 0 // 3번 수포자의 점수
for(let i = 0; i < answers.length; i++) {
if(supo[0][i % 5] === answers[i]) one++
if(supo[1][i % 8] === answers[i]) two++
if(supo[2][i % 10] === answers[i]) three++
}
const max = Math.max(one, two, three)
if(one === max) answer.push(1)
if(two === max) answer.push(2)
if(three === max) answer.push(3)
return answer
}
- 수포자 3명의 답을 배열에 각각 담음
- 3명의 점수를 담을 변수 one, tow, three를 만듦
- answers 배열의 길이만큼 반복문
- 주어진 정답과 일치되는 경우 해당되는 수포자의 점수 +1
(n개의 답을 반복하므로 i를 n으로 나눈 나머지 값(i % n)을 인덱스로 사용)
- 주어진 정답과 일치되는 경우 해당되는 수포자의 점수 +1
- 3개 점수들의 최대값을 구함
- 최대값과 일치하는 점수를 받은 수포자의 번호를 answer 배열에 담아 return
'알고리즘 문제풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv.0 - 옹알이 (1) (javascript) (0) | 2022.11.14 |
---|---|
[프로그래머스] 1단계 - 이상한 문자 만들기 (javascript) (0) | 2022.08.04 |
[프로그래머스] 1단계 - 숫자 문자열과 영단어 (javascript) (0) | 2022.07.28 |
[프로그래머스] 1단계 - K번째수 (javascript) (0) | 2022.07.27 |
[프로그래머스] 1단계 - 없는 숫자 더하기 (javascript) (0) | 2022.07.26 |
댓글