-
[매일코딩-프로그래머스] 모의고사 04WEB Dev/CordingTEST 2021. 11. 30. 10:58728x90
오늘 아침은 비가 와서 이제 출근했다..😣
function solution(answers) { var check = []; var check2 = []; var check3 = []; var student = { 1: [1, 2, 3, 4, 5, 1, 2, 3, 4, 5], 2: [2, 1, 2, 3, 2, 4, 2, 5, 2, 1], 3: [3, 3, 1, 1, 2, 2, 4, 4, 5, 5], }; answers.map((a, i)=>{ check.push(a == Object.values(student)[0][i]); return check; }) answers.map((a, i)=>{ check2.push(a == Object.values(student)[1][i]); return check2; }) answers.map((a, i)=>{ check3.push(a == Object.values(student)[2][i]); return check3; }) var oneChk = check.filter(function(element){ return element==true;}).length; var twoChk = check2.filter(function(element){ return element==true;}).length; var threeChk = check3.filter(function(element){ return element==true;}).length return oneChk; }
개별적으로 학생들을 나눠놔야 해서 반복문을 돌리기가 애마하다. map에서 한 번 돈 리턴값을 하나의 배열에 넣고 또 한 번 돌면 또 다른 배열에 넣고 이렇게 해줘야 하는데 그걸 못하겠다ㅠㅠ
아무튼 이렇게 코드를 짜서 각 학생들의 맞은 갯수까지는 출력하겠는데, 이 맞은 갯수에 다시 이름을 붙여서, value값대로 정렬해야 한다. object 메소드를 사용해봐야겠다.
그러다가 어차피 객체의 키 값이 필요하다면 map 을 가지고 반복하면 되는데 하는 한탄에 찾아보니
https://maxkim-j.github.io/posts/js-map
자바스크립트 맵 객체(Map Object)
개발자 김맥스의 기술 블로그입니다
maxkim-j.github.io
for...in이나 오브젝트 순회를 쓰면 될 거 같긴 한데.... 아악!!
자바스크립트 sort() 메소드 사용 방법 정리
자바스크립트의 sort() 메소드는 특정 배열을 정렬하고, 정렬된 배열을 리턴합니다. 기본 정렬은 오름차순이며, 요소를 문자열로 전환한 다음 UTF-16 코드 단위 값을 따라 이를 비교합니다. 배열 정
oneroomtable.tistory.com
function solution(answers) { var check = []; var check2 = []; var check3 = []; var student = { 1: [1, 2, 3, 4, 5, 1, 2, 3, 4, 5], 2: [2, 1, 2, 3, 2, 4, 2, 5, 2, 1], 3: [3, 3, 1, 1, 2, 2, 4, 4, 5, 5], }; answers.map((a, i)=>{ check.push(a == Object.values(student)[0][i]); return check; }) answers.map((a, i)=>{ check2.push(a == Object.values(student)[1][i]); return check2; }) answers.map((a, i)=>{ check3.push(a == Object.values(student)[2][i]); return check3; }) var oneChk = check.filter(function(element){ return element==true;}).length; var twoChk = check2.filter(function(element){ return element==true;}).length; var threeChk = check3.filter(function(element){ return element==true;}).length var q = [{ 1 : oneChk, 2 : twoChk, 3 : threeChk }]; q.sort(function (a, b){ return a.value - b.value; }) var answer= []; if( Object.values(q[0]) != 0){ answer += Object.keys(q[0]) } return answer; }
나흘이나 풀었는데 못풀다니 절망이야 ㅠㅠ
https://programmers.co.kr/questions/16517
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
나중에 이분의 코드를 참고해봐야지
728x90'WEB Dev > CordingTEST' 카테고리의 다른 글
[매일코딩-프로그래머스] 모의고사 06 (0) 2021.12.09 [매일코딩-프로그래머스] 모의고사 05 (0) 2021.12.08 [매일코딩-프로그래머스] 모의고사 03 (0) 2021.11.29 [매일코딩-프로그래머스] 모의고사 02 (0) 2021.11.26 [매일코딩-프로그래머스] 모의고사 01 (0) 2021.11.25