본문 바로가기

Coding Test/JavaScript60

[Javascript] (프로그래머스 level 1) 내적 [Javascript] (프로그래머스 level 1) 내적 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 function solution(a, b) { return a.map((x, i)=> x = x * b[i]).reduce((acc, cur) => acc += cur); } 다른 사람 풀이 function solution(a, b) { return a.reduce((acc, _, i) => acc += a[i] * b[i], 0); } 배운 점, 느낀 점 for문 돌릴려다가 한줄로 짜봤는데 잘 되었습니다. 근데.. reduce()에 인덱스도 있군요! 저게 O(n)으로 더 좋겠네요 👍 2022. 7. 1.
[Javascript] (프로그래머스 level 1) 모의고사 [Javascript] (프로그래머스 level 1) 모의고사 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 function solution(answers) { const method2 = [2, 1, 2, 3, 2, 4, 2, 5]; const method3 = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5]; const arr1 = new Array(answers.length).fill(0).map((x, i) => x = (i % 5) + 1); const arr2 = new Array(answers.length).fill(0).map((x, i) => x = method2[i % 8]) const arr3 = new Array(answers.l.. 2022. 6. 30.
[Javascript] (프로그래머스 level 1) 체육복 [Javascript] (프로그래머스 level 1) 체육복 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 function solution(n, lost, reserve) { // 1) 배열을 1로 채우고 (0은 0) const arr = new Array(n + 1).fill(1); arr[0] = 0; // 2) 도난 당한 학생은 -1, 여벌 학생은 +1 reserve.forEach((x) => arr[x]++); lost.forEach((x) => arr[x]--); // 3) 체육복 갯수가 0이면 주변 2인 친구한테 하나 가져오기 for (let i = 1; i < n + 1; i++) { if (arr[i] === 0) { askFriend(arr,.. 2022. 6. 30.
[Javascript] (프로그래머스 level 1) 실패율 [Javascript] (프로그래머스 level 1) 실패율 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 function solution(N, stages) { // 1) 각 스테이지별로 실패한 사람의 수 카운트 const failCount = []; for (let i = 1; i i === stage).length; } // 2) 각 스테이지별로 실패율 계산 ([stage, 실패율]) const failRate = []; for (let i = 1; i stage >= i).length]; } console.log(failRate); // 3) 실패율이 높은 순서로 인덱스 뽑기 return failRate.sort((a, b) => b[1] - a[1].. 2022. 6. 30.
[Javascript] (프로그래머스 level 1) 비밀 지도 [Javascript] (프로그래머스 level 1) 비밀 지도 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 function solution(n, arr1, arr2) { const arrOr = [] for (let i = 0; i el.toString(2).padStart(n, 0)) .map((el) => el.replace(/1/g, &#39;#&#39;).replace(/0/g, &#39; &#39;)); return answer } 비트연산으로 or해서 1이면 다 #로 바꾸고, 0이면 다 ‘ ‘으로 바꾸기! .. 2022. 6. 30.
[Javascript] (프로그래머스 level 1) 문자열 내 마음대로 정렬하기 [Javascript] (프로그래머스 level 1) 문자열 내 마음대로 정렬하기 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 function solution(strings, n) { return strings.sort((a, b) => { if (a[n] === b[n]) { return a > b ? 1 : -1; } else { return a[n] > b[n] ? 1 : -1; } }); } 숫자로 된 소팅은 a-b 만 하면 되었는데, 문자는 어떻게 하는지 모르겠더라. 검색해서 이리저리 찾아보고 겨우 해결했다. 숫자가 a-b 이었던 이유도 a>b하면 (0이상, 0, 0이하) 로 나뉘기 때문이었는데, 이걸 정확하게 이해하지 않고 넘어가니 문자로 넘어왔.. 2022. 6. 30.
[Javascript] (프로그래머스 level 1) 소수 찾기 [Javascript] (프로그래머스 level 1) 소수 찾기 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 function solution(n) { const primeNums = new Array(n + 1).fill(true); for (let i = 2; i 2022. 6. 30.
[Javascript] (프로그래머스 level 1) 예산 [Javascript] (프로그래머스 level 1) 예산 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 function solution(d, budget) { d.sort((a, b) => a - b); let money = budget; let count = 0; for(let i = 0; i = 0) { money = money - d[i]; count++; } else { break; } } return count } 배운 점, 느낀 점 “다른 사람 풀이”를 눌러보면 충격적인 코드들이 나온다. 대부분 한줄로 끝나는 코드들… 그런 코드들을 볼때 부족함을 많이 느끼지만,,, 지금 나의 최우.. 2022. 6. 30.
[Javascript] (백준 9046) 복호화 [Javascript] (백준 9046) 복호화 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 //* 인풋 (디폴트) const filePath = process.platform === &#39;linux&#39; ? &#39;/dev/stdin&#39; : &#39;./input.txt&#39;; const input = require(&#39;fs&#39;).readFileSync(filePath).toString().trim().split(&#39;\n&#39;); //* 인풋 (커스텀) const [n, ...inputs] = input.map((el) => el.trim()); //* 함수 콜 (고정) let answer = solution(n, i.. 2022. 6. 30.
[Javascript] (백준 4673) 셀프 넘버 [Javascript] (백준 4673) 셀프 넘버 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 main(); //* 로직함수 function solution() { let dp = [-1]; for (let i = 0; i < 10000; i++) { dp[d(i + 1)] = true; } let answer = []; for (let i = 0; i < 10000; i++) { if (dp[i + 1] === undefined) { answer.push(i + 1); } } return answer.join(&#39;\n&#39;); } function d(n) { let strN = n + &#39;&#39;; let answer = n; strN... 2022. 6. 29.