본문 바로가기

Coding Test/JavaScript60

[Javascript] (프로그래머스 level 0) 특이한 정렬 [Javascript] (프로그래머스 level 0) 특이한 정렬 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 function solution(numlist, n) { return numlist.slice().sort((a, b) => { distA = Math.abs(a - n); distB = Math.abs(b - n); if (distA === distB) { return b - a; } else { return distA - distB; } }); } 다른 사람 풀이 참고한 풀이 function solution(numlist, n) { return numlist.slice().sort((a, b) => Math.abs(n - a) - Math.ab.. 2022. 10. 24.
[Javascript] (프로그래머스 level 0) 로그인 성공? [Javascript] (프로그래머스 level 0) 로그인 성공? 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 function solution(id_pw, db) { for (let i = 0; i < db.length; i++) { let userInfo = db[i]; if (userInfo[0] === id_pw[0]) { let loginResult = id_pw[1] === userInfo[1] ? &#39;login&#39; : &#39;wrong pw&#39;; return loginResult } } return &#39;fail&#39; } Array.forEach 또는 Array.filter()로 풀려고 했으나, 그럼 로그인 정보를 찾은.. 2022. 10. 20.
[Javascript] (프로그래머스 level 0) 등수 매기기 [Javascript] (프로그래머스 level 0) 등수 매기기 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 function solution(score) { const scoreOrder = score.map((x, i) => [x[0] + x[1], i]) scoreOrder.sort((a, b) => b[0] - a[0]) const result = []; for (let i = 0; i 0) { let prevTotalScore = scoreOr.. 2022. 10. 20.
[Javascript] (프로그래머스 level 0) 치킨 쿠폰 [Javascript] (프로그래머스 level 0) 치킨 쿠폰 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 function solution(chicken) { let coupon = 0; let service = 0; while (chicken-- > 0) { coupon++; if (coupon % 10 === 0) { chicken++; service ++; } } return service; } 시간계산 없이 무지성으로 풀었네요! 😅 치킨 갯수를 하나씩 뺴면서, 쿠폰을 더하고 쿠폰이 10개가 될 때마다 먹을 수 있는 치킨 갯수를 +1, 서비스 받은 갯수도 +1 뭔가 직관적이긴한데, 그만큼 알고리즘 없이 완탐으로 푼거라 시간 복잡도에서는 좋지 않은 결.. 2022. 10. 20.
[Javascript] (구름 먼데이 챌린지) 1주차 1번 문제 [Javascript] (구름 먼데이 챌린지) 1주차 1번 문제 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 function solve() { const nums = lines[1].trim().split(&#39; &#39;); const answer = nums.reduce((acc, cur) => BigInt(+cur) * BigInt(acc), 1n).toString(); return answer; } 배운 점, 느낀 점 테스트 케이스 10번이 계속 안풀려서 한참을 고생했습니다. 결국 BigInt를 사용해서 풀었는데요, 해당 개념을 4개월전에 사용은 해봤지만 제대로 알지 못해서 한참을 고생했네요. 프로그래머스 문제를 풀때는 그냥 단순히 구현만 해도 .. 2022. 10. 14.
[Javascript] (프로그래머스 level 0) 외계행성의 나이 [Javascript] (프로그래머스 level 0) 외계행성의 나이 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 function solution(age) { const programmersAge = [&#39;a&#39;, &#39;b&#39;, &#39;c&#39;, &#39;d&#39;, &#39;e&#39;, &#39;f&#39;, &#39;g&#39;, &#39;h&#39;, &#39;i&#39;, &#39;j&#39;]; return age.toString().split(&#39;&#39;).map((num) => programmersAge[num]).join(&#39;&#39;); } 다른 사람 풀이 참고한 풀이 function solution.. 2022. 10. 14.
[Javascript] (프로그래머스 level 0) 중복된 문자 제거 [Javascript] (프로그래머스 level 0) 중복된 문자 제거 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 function solution(my_string) { const count = {}; return my_string.split(&#39;&#39;).filter((x) => { if (!count[x]) { count[x] = true; return x } }).join(&#39;&#39;) } js는 객체지! 하면서 객체 이용해서 풀었는데,,, 다른 사람 풀이 참고한 풀이 function solution(my_string) { return [...new Set(my_string)].join(&#39;&#39;) } set 구조로 중복 제거.. 2022. 10. 12.
[Javascript] (프로그래머스 level 0) 문자 반복 출력하기 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 function solution(my_string, n) { const answer = []; for (let i = 0; i 0) { answer.push(my_string[i]); } } return answer.join(&#39;&#39;); } 다른 사람 풀이 참고한 풀이 function solution(my_string, n) { return my_string.split(&#39;&#39;).map((x) => x.repeat(n)).join(&#39;&#39;); } String에는 repeat()이라는 메서드가 .. 2022. 10. 9.
[Javascript] (프로그래머스 level 0) 양꼬치 [Javascript] (프로그래머스 level 0) 양꼬치 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 function solution(n, k) { let lamb = 12000 * n; let services = Math.floor(n / 10); let drinks = k - services >= 0 ? (k - services) * 2000 : 0; let total = lamb + drinks; return total; } 헷갈려서 변수로 했는데 다른 사람 풀이는 다 그냥 연산 때려 넣었네요.. ㅎㅎ 다른 사람 풀이 참고한 풀이 function solution(n, k) { let lamb = 12000 * n; let services = ~~(.. 2022. 10. 9.
[Javascript] **(프로그래머스 level 0) 짝수는 싫어요** [Javascript] (프로그래머스 level 0) 짝수는 싫어요 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 function solution(n) { return Array.from({ length : Math.ceil(n / 2) }, (_, i) => (i * 2) + 1); } 배운 점, 느낀 점 Level 0 이라 쉽게 봤는데, Array.from 문법을 잘 몰라서 시간이 조금 걸렸다. 기초가 단단해야한다! 열심히 하자! 2022. 10. 7.