본문 바로가기

Coding Test/JavaScript60

[Javascript] (프로그래머스 level 2) 기능 개발 [Javascript] (프로그래머스 level 2) 기능 개발 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 function solution(progresses, speeds) { // 100 되면 pop // 하루 한번 speed 만큼 progresses 올라감 // 배포마다 몇개가 배포되는지 return const arr = progresses.map((x, i) => Math.ceil((100 - x)/speeds[i])); const result = []; let count = 1; let maxDay = 0; console.log(arr) arr.forEach((x, i) => { if (x > maxDay) { maxDay = x; } if (i.. 2022. 7. 2.
[Javascript] (프로그래머스 level 2) 숫자의 표현 [Javascript] (프로그래머스 level 2) 숫자의 표현 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 function solution(n) { // 1) 부분합인거 같은데 일단 투포인터로 O(n!)로 해보자. let sum = 0; let count = 0; for (let p1 = 1; p1 n) { break; } } } // n 하나 있는 케이스 return count + 1 } 효율성 테스트 테스트 1 〉 통과 (31.23ms, 32.1.. 2022. 7. 2.
[Javascript] (프로그래머스 level 2) 이진 변환 반복하기 [Javascript] (프로그래머스 level 2) 이진 변환 반복하기 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 function solution(s) { // 이진변환 : 모든 0을 제거, x의 길이를 c라하면 c를 2진법으로 표현한 문자열 로 변경 // s가 1이 될때까지 이진변환하기, return {이진변환의 횟수, 제거된 0의 갯수} const answer = { count : 0, popedZero : 0, s : s, } while(true) { binaryConversion(answer); if (answer.s === '1') { return [answer.count, answer.popedZero]; } } return }.. 2022. 7. 1.
[Javascript] (프로그래머스 level 2) n진수 게임 [Javascript] (프로그래머스 level 2) n진수 게임 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 function solution(n, t, m, p) { //n진법, t개 구하기, 인원 m (반복주기), 튜브의 순서 p let total = &#39;&#39;; for(let i = 0; total.length { if (i < m * t) { return i % m === p - 1 }}); return answer.join(&#39;&#39;).toUpperCas.. 2022. 7. 1.
[Javascript] (프로그래머스 level 2) 다음 큰 숫자 [Javascript] (프로그래머스 level 2) 다음 큰 숫자 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 function solution(n) { let next = n; const nCountOne = n.toString(2).split(&#39;&#39;).filter((x) => x === &#39;1&#39;).length; while (true) { next++; if (next.toString(2).split(&#39;&#39;).filter((x) => x === &#39;1&#39;).length === nCountOne) { return next; } } } 다른 사람 풀이 function solution(n,a=n+1) { retu.. 2022. 7. 1.
[Javascript] (프로그래머스 level 2) 최댓값과 최솟값 [Javascript] (프로그래머스 level 2) 최댓값과 최솟값 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 function solution(s) { const arr = s.split(' ') return [Math.min(...arr), Math.max(...arr)].join(' '); } 배운 점, 느낀 점 프야호! 레벨 1 수준의 문제가 많다! 갑자기 마음이 편안해진다. 🤣🤣🤣 쉬운 문제는 업로드 안해야겠다.. 양심에 찔린다... ㅋㅋ 2022. 7. 1.
[Javascript] (프로그래머스 level 2) JadenCase 문자열 만들기 [Javascript] (프로그래머스 level 2) JadenCase 문자열 만들기 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 function solution(s) { return s.toLowerCase().replace(/\b[a-z]/g,(x) => x.toUpperCase()) } 프로그래머스 레벨 2 가 레벨 1보다 꼭 어려운건 아닌가부다. 단순히 “정규식을 사용할줄 아느냐? 연습하자~🚀” 정도의 문제였는데 레벨2에 들어있다는게 조금 신기했다. 배운 점, 느낀 점 정규식 /\b[a-z]/ 라고 하면 가장 앞 소문자를 선택하게 된다. \b의 b가 바운더리라는 의미라고 한다. replace(/\b[a-z]/g,(x) => x.toUpperCase(.. 2022. 7. 1.
[Javascript] (프로그래머스 level 2) 오픈채팅방 [Javascript] (프로그래머스 level 2) 오픈채팅방 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 function solution(record) { // command에 기록을나눠서 저장 (편하게) const command = record.map((x) => x.split(&#39; &#39;)); const idNick = new Map(); // userMap = {id, nick} const idLastLeave = new Map(); // idLastLeave = {id, lastLeave} for (let [com, id, nick] of command) { // id 기록 없으면 추가 (닉, 마지막 나간 인덱스) if (com === .. 2022. 7. 1.
[Javascript] (프로그래머스 level 1) 크레인 인형뽑기 게임 [Javascript] (프로그래머스 level 1) 크레인 인형뽑기 게임 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 function solution(board, moves) { // 아래부터 차곡차곡 쌓여있다 // 153에서 뽑아서 스택에 쌓는다. // 스택에 같은 인형 만나면 둘다 없어짐 // 인형 없는 곳에 작동하면 아무일도 안일어남 // 바구니 크기는 무한 // 크레인 작동시킨 후 터뜨려 사라진 인형의 개수를 return // board는 55이상 3030 이하 // board 0은 빈칸, 1~100은 각각 인형 // moves 1~1000, 각 배열의 가로 줄 [1,5,3,5,1,2,1,4] 핑크 악어 볼 볼 악 무 핑 const doll = {.. 2022. 7. 1.
[Javascript] (프로그래머스 level 1) 키패드 누르기 [Javascript] (프로그래머스 level 1) 키패드 누르기 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 function solution(numbers, hand) { const answer = { powerHand : hand === &#39;left&#39; ? &#39;L&#39; : &#39;R&#39;, result : [], preLt : 10, preRt : 11, } let [l, r] = [&#39;L&#39;, &#39;R&#39;]; for (let num of numbers) { // 147 왼손 if ([1, 4, 7].includes(num)) { answer.result.push(l); answer.preLt = num; .. 2022. 7. 1.