전체 글198 [Javascript] (프로그래머스 level 2) 다음 큰 숫자 [Javascript] (프로그래머스 level 2) 다음 큰 숫자 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 function solution(n) { let next = n; const nCountOne = n.toString(2).split('').filter((x) => x === '1').length; while (true) { next++; if (next.toString(2).split('').filter((x) => x === '1').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(' ')); 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 === 'left' ? 'L' : 'R', result : [], preLt : 10, preRt : 11, } let [l, r] = ['L', 'R']; for (let num of numbers) { // 147 왼손 if ([1, 4, 7].includes(num)) { answer.result.push(l); answer.preLt = num; .. 2022. 7. 1. [Javascript] (프로그래머스 level 1) 신고 결과 받기 [Javascript] (프로그래머스 level 1) 신고 결과 받기 💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다. 내 풀이 function solution(id_list, report, k) { // 1) report 중복제거 const set = new Set(report) // 2) id_list 객체에 담기 const banedUsers = {} id_list.forEach((x) => banedUsers[x] = [0,[]]); // user가 = [0번 신고당함, []얘들을 신고함] // 3) report set에 있는 신고데이터 map에 담기 for (let x of set) { let keyValue = x.split(' '); let k.. 2022. 7. 1. [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. 이전 1 ··· 14 15 16 17 18 19 20 다음 more