[프로그래머스 자바스크립트] ‘모의고사’ 풀어보기

2025. 1. 11. 18:28·Algorithm/Programmers(JavaScript)
목차
  1. 1. 풀이
  2. 2. 코드

문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/42840

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr


1. 풀이

1번 수포자는 1,2,3,4,5번을 계속 반복하면서 찍고,

2번 수포자는 2,1,2,3,2,4,2,5번을 반복하면서 찍고,

3번 수포자는 3,3,1,1,2,2,4,4,5,5번을 반복하면서 찍는다.

 

수포자들이 찍은 번호들을 각각 배열로 선언하고, 수포자들이 맞춘 문제 개수들도 변수로 선언한다.

 

answers 배열을 순회하면서 해당 배열이 가리키는 index를 각각 5, 8, 10으로 나눈 값을

각 수포자가 찍은 번호 배열의 index를 가리키게 한 다음 같은지 비교를 했다.

그리고 같으면 수포자들이 맞춘 문제 개수들에 1을 더해준다.

 

순회가 끝나면 people 객체 배열를 선언해줬다. 프로퍼티는 name과 count로,

name에는 1,2,3이, count에는 아까 세어준 count들을 넣어줬다.

 

people 객체를 count 프로퍼티의 오름차순으로 정렬해주고, people 객체 배열의 맨 마지막 객체의 count를 max로 지정해주었다.

 

그리고 마지막으로 people을 순회하며 count와 max가 같은 객체의 name을 answer 배열에 push하고 return 해주었다.


2. 코드

function solution(answers) {
    const one_array = [1,2,3,4,5];
    const two_array = [2,1,2,3,2,4,2,5];
    const three_array = [3,3,1,1,2,2,4,4,5,5];
    
    let one_count = 0;
    let two_count = 0;
    let three_count = 0;
    
    answers.forEach((e, i) => {
        if (e === one_array[i % 5]) {
            one_count++;
        }
        if(e === two_array[i % 8]) {
            two_count++;
        }
        if(e === three_array[i % 10]) {
            three_count++;
        }
    })
    
    const people = [
        {name: 1, count: one_count},
        {name: 2, count: two_count},
        {name: 3, count: three_count},
    ]
    
    const sortedPeople = people.sort((a, b) => a.count - b.count);
    const max = people[people.length -1].count;
        
    let answer = [];

    
    people.forEach((e) => {
        if(e.count === max) {
            answer.push(e.name);
        }
    })
        
    return answer;
}
저작자표시 비영리 변경금지 (새창열림)

'Algorithm > Programmers(JavaScript)' 카테고리의 다른 글

[프로그래머스 자바스크립트] ‘정수 삼각형’ 풀어보기  (0) 2025.01.24
[프로그래머스 자바스크립트] ‘가장 큰 수’ 풀어보기  (0) 2025.01.20
[프로그래머스 자바스크립트] ‘올바른 괄호’ 풀어보기  (1) 2025.01.07
[프로그래머스 자바스크립트] ‘입국심사’ 풀어보기  (0) 2024.12.31
[프로그래머스 자바스크립트] ‘최소직사각형’ 풀어보기  (2) 2024.08.07
  1. 1. 풀이
  2. 2. 코드
'Algorithm/Programmers(JavaScript)' 카테고리의 다른 글
  • [프로그래머스 자바스크립트] ‘정수 삼각형’ 풀어보기
  • [프로그래머스 자바스크립트] ‘가장 큰 수’ 풀어보기
  • [프로그래머스 자바스크립트] ‘올바른 괄호’ 풀어보기
  • [프로그래머스 자바스크립트] ‘입국심사’ 풀어보기
퀵차분
퀵차분
Web Developer 🥐
QC's DevlogWeb Developer 🥐
  • 퀵차분
    QC's Devlog
    퀵차분
  • 전체
    오늘
    어제
    • 분류 전체보기 (176) N
      • Frontend (30)
      • Fedify (4)
      • Study (42)
        • NestJS (2)
        • Node.js (3)
        • Modern JS Deep Dive (13)
        • SQL (1)
        • Network (1)
        • 프롬프트 엔지니어링 (4)
        • 인공지능 (9)
        • 시스템프로그래밍 (11)
        • 선형대수학 (1)
      • Intern (4)
      • KUIT (21)
      • Algorithm (48)
        • Baekjoon(C++) (26)
        • Programmers(JavaScript) (22)
      • 우아한테크코스(프리코스) (4)
      • Project (9) N
        • crohasang_page (2) N
        • PROlog (4)
        • Nomadcoder (2)
      • 생각 (4)
      • Event (7)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    fedify
    KUIT
    typescript
    오블완
    HTML
    javascript
    프로그래머스 자바스크립트
    프론트엔드
    리액트
    next.js
    타입스크립트
    티스토리챌린지
    react
    프로그래머스
    알고리즘
    백준
    음악추천
    인공지능
    시스템프로그래밍
    자바스크립트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
퀵차분
[프로그래머스 자바스크립트] ‘모의고사’ 풀어보기

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.