뚜벅이!
Mobile :)
뚜벅이!
전체 방문자
오늘
어제
  • 분류 전체보기 (53)
    • 코딩테스트 (16)
      • programmers level1 (7)
      • codility (9)
    • 프로그래밍 공부 (31)
      • Spring Boot (6)
      • Nuxt.js (5)
      • Node.js (3)
      • Etc (11)
      • Android (6)
    • 잡다한 글 (4)
    • 토이프로젝트 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Notification
  • codillity
  • lesson4
  • 초보자
  • node
  • level1
  • Vue
  • firebase
  • javascript
  • nuxt
  • node.js
  • 부트
  • 프로그래머스
  • nuxt.js
  • Spring boot
  • Vue.js
  • JS
  • Spring
  • AndroidX
  • lesson3
  • Jetpack
  • ad
  • 연습
  • NavBar
  • token
  • programmers
  • lesson2
  • Kotlin
  • docker
  • 스킬체크테스트

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
뚜벅이!

Mobile :)

[Java script] 프로그래머스 level1 - 모의고사
코딩테스트/programmers level1

[Java script] 프로그래머스 level1 - 모의고사

2019. 6. 17. 15:39
728x90

쩝

 

 

일단 1번,2번,3번의 패턴을 저장할 필요가 있다.

1,2,3,4,5  ( 1패턴당 5개)

2,1,2,3,2,4,2,5 ( 1패턴당 8개)

3,3,1,1,2,2,4,4,5,5 ( 1패턴당 10개)

 

그리고 카운팅을 해줄 count 변수

=>

function solution(answers) {
    var person = [
        [1,2,3,4,5],
        [2,1,2,3,2,4,2,5],
        [3,3,1,1,2,2,4,4,5,5]
    ];
    var count = [0,0,0];
}

 

그다음 answer의 크기만큼 for문을 도는데, 패턴의 크기만큼 다시 돌아야하기 때문에 % 연산자를 이용한다

 


function solution(answers) {
    var person = [
        [1,2,3,4,5],
        [2,1,2,3,2,4,2,5],
        [3,3,1,1,2,2,4,4,5,5]
    ];
    var count = [0,0,0];
    for (var i in answers){
        if(person[0][i%5] == answers[i]){
            count[0]++;
        }
        if(person[1][i%8] == answers[i]){
            count[1]++;
        }
        if(person[2][i%10] == answers[i]){
            count[2]++;
        }
    }
}

 

그리고 count 최대값을 구해줄 Math.max() 함수를 이용하여 max값을 구해주고, 사람마다 max값을 가지고 있는 사람을 체크해서 리턴

 


function solution(answers) {
    var person = [
        [1,2,3,4,5],
        [2,1,2,3,2,4,2,5],
        [3,3,1,1,2,2,4,4,5,5]
    ];
    var count = [0,0,0];
    for (var i in answers){
        if(person[0][i%5] == answers[i]){
            count[0]++;
        }
        if(person[1][i%8] == answers[i]){
            count[1]++;
        }
        if(person[2][i%10] == answers[i]){
            count[2]++;
        }
    }
    var max = Math.max(...count);
    
    var answer = [];
    for(let a in count){
        if(count[a] == max){
            answer.push(Number(a)+1);
        }
    }
    
    return answer;
}

 

 

728x90

'코딩테스트 > programmers level1' 카테고리의 다른 글

[kotlin] 프로그래머스 level1 - 스킬 체크 테스트 2  (0) 2020.11.11
[kotlin] 프로그래머스 level1 - 스킬 체크 테스트  (0) 2020.11.11
[Java Script] 프로그래머스 level1 - 2016년  (2) 2019.06.12
[Java script] 프로그래머스 level1 - 완주하지 못한 선수  (0) 2019.06.09
[Java script] 프로그래머스 level1 - K번째 수  (0) 2019.06.09
    '코딩테스트/programmers level1' 카테고리의 다른 글
    • [kotlin] 프로그래머스 level1 - 스킬 체크 테스트 2
    • [kotlin] 프로그래머스 level1 - 스킬 체크 테스트
    • [Java Script] 프로그래머스 level1 - 2016년
    • [Java script] 프로그래머스 level1 - 완주하지 못한 선수
    뚜벅이!
    뚜벅이!
    2022. 4년차 안드로이드 개발자 wndnjs19@gmail.com

    티스토리툴바