월 15,400원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
혹시 반례가 있을까요 선생님?
혼자 풀어보면서 2중 for문으로 풀어봤는데 혹시 반례가 있는지 궁금해서요. 강의 정말 재밌게 듣고 있어요! :) function solution(s, t) { let answer = []; // time complexity : O(n^2) let tIndicies = []; for (let i = 0; i < s.length; i++) { if (s[i] == t) tIndicies.push(i) } for (let i = 0; i < s.length; i++) { let min = Number.MAX_SAFE_INTEGER; for (let j = 0; j < tIndicies.length; j++) { let position = Math.abs(i - tIndicies[j]); if (min > position) min = position; } answer.push(min); } return answer; } let str = "teachermode"; console.log(solution(str, 'e'));
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
선생님 질문있습니다.
5-2 a=[1,2,3,5,9] b=[2.3.5.7.8] sort로 이렇게 바꾸고 while문 돌리면 1,2 .... 2.2[같은값] ... 3.3 .... 5.5 .. 9.7 여기서 a배열 길이가 끝났으니 끝날것이잖아요. 만약 이 순서가 맞다면 p2++가 필요없는데 (a배열 9가 마지막이니 while문이 종료됩니다.) 그런데 저기에 else p2++;를 않넣으면 작동이 안하는 이유가 뭔가요 a[ 1,2,3,5,9] b[2,3,5,7,8
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
도저히 이해가 안되요
선생님 arr[p1]에서 ++를 넣지 않으면 원래 while문은 저런상태면 어떻게 돌아가는건가요? &&까지 붙어있어서 어떤식으로 컴퓨터가 탐색하는지 모르겠어요
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
이렇게 한것도 괜찮나요
안녕하세요 선생님 이렇게 했는데 괜찮나요 function solution(str){ let haha= str.replace(/[a-z]/gi, "").replace(/(^0+)/, ""); return haha ; } let str="g0000en2T0sfdjsifjwep0if32uufklnfwfe8eSoft"; console.log(solution(str));
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
풀이 방법 관련 질문
혹시 이 방법 말고 탐욕법을 이용하는 풀이가 더 빠르지 않을까요? 송아지의 위치가 현수보다 작으면 무조건 -1로만 이동하는게 좋을 것 같고 , 현수보다 5 이상 크면 +5로 접근한 다음, 남은 길이가 4라면 +5점프를 했다가 뒤로 한번만 가게끔 예외처리를 하면 빠를 것 같아서요.
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
내장 함수를 사용한 풀이 코드리뷰 부탁드려요
function solution(n,arr) { let answer = ''; let cash = Array.from({length: n}, ()=>0) for(let a of arr) { if(cash.indexOf(a) < 0) { cash.unshift(a); cash.pop(); } else { cash.splice(cash.indexOf(a),1); cash.unshift(a); } } answer = cash; return answer; } console.log(solution(5, [1,2,3,2,6,2,3,5,7]))
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
질문 있습니다!
질문 있습니다! 전 항상 중복 처리 할 때 find로 분별하는데, 비효율 적인 방법일까요? function solution(count, arr) { let answer = []; for (let i = 0; i < arr.length; i++) { const ele = arr[i]; const has = answer.find((i) => i === ele); if (!has) answer = [...answer, ele]; } console.log(answer); } const arr = ['good', 'time', 'good', 'time', 'student']; solution(5, arr);
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
1-17 질문이 있습니다.
안녕하세요 선생님. 코드에서 for 문이 없는데 어떻게 let answer; answer=s.filter(function(v, i){ return s.indexOf(v)===i; }); 이것이 알아서 순서대로 필터링 되는건가요? 그 구조에 대해 알고 싶어요.
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
parseInt() ..
강의 잘 듣고 있습니다. 이 전부터 간혹 parseInt()로 풀이를 해주셨는데, mdn과 기타 블로그의 정리글을 보아도 개념과 알고리즘에서 풀이하실때 적용하는게 이해가 잘 되지 않습니다 ㅠㅠ혹시 이 문제 풀이에 사용된 parseInt()를 짧게나마 설명해주실수 있을까요?
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
배열과 메서드를 이용하여 풀어봤습니다.
방법1. function solution(a, b, c){ let answer; let arr = [a,b,c]; let max = Math.max(...arr); let min = Math.min(...arr); let filterArr = arr.filter(num => (num < max && num > min)); if ( (min + filterArr[0] ) > max) { answer = 'yes' } else { answer = 'no' } return answer; }console.log(solution(13,33,17)); 방법2. function solution(a, b, c){ let answer; let arr = [a,b,c]; arr.sort((x, y) => x - y); if ( (arr[0] + arr[1]) > arr[2]) { answer = 'yes' } else { answer = 'no' } return answer; } console.log(solution(13,33,17)); 강의를 보니 쉬운방법을 두고 굳이 어려운 방법으로 푼 느낌이네요 ㅠㅠ
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
보너스 모의고사
오늘 좀 전에 강의 진도율 10% 넘겼는데 다음주 월요일날 보너스 모의고사 받을수있나요?
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
1-9 #바꾸기 문제
function solution(s){ let answer=""; for(let x of s){ if(x=='A') answer+='#'; else answer+=x; } return answer; } let str="BANANA"; 안녕하세요 선생님 선생님이 1-9 문제에서 let x of s를 썼는데 let of 문법을 쓰면 결과창에 "B" "A" "N" 이런식으로 각개로 나오는데 어떻게 저게 무슨 원리로 다시 B#N#N#로 붙은건가요?
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
선생님 이 방법으로 풀어봤는데 왜이게 되는건지 모르겠어요
function solution(s){ const arr = []; arr.push(s[0]) for(let i=0; i<s.length; i++){ if(arr[arr.length-1]<s[i]){ arr.push(s[i]) } } return arr } 예전에 써먹었던 방법으로 우연히 한건데 arr[arr.length-1] 이게 배열의 맨 끝을 나타내는건가요?
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
테스트 케이스 오류가 있는지 궁금합니다
function solution(n, arr) { let count = 0, sum = 0, lt = 0, rt = 0; while (rt < arr.length) { if (sum < n) { sum += arr[rt++]; } else if (sum > n) { sum -= arr[lt++]; } else if (sum === n) { count++; sum -= arr[lt++]; } } return count; } solution(6, [1, 2, 1, 3, 1, 1, 1, 2]) //3 강의에서는 for문을 썼는데 for문 없이 while 문으로만 문제를 풀어보았습니다. 문제 정답은 나오는데 혹시 다른 테스트 케이스 통과 안되는게 있는지 궁금합니다.
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
스택프레임으로 이해를 못하겠어요
직접 그림그려가며 하고 있는데 이해가 좀 안돼요.. DFS(L+1, sum+arr[L]);가 계속 호출돼서, 결국 스택에 차례대로 쌓일텐데, 만약 L===n이 되었을 때 if문에 만족하지 못하면 바로 끝나고, 스택에 쌓였던 게 다시 pop되는거까진 이해했어요. 그런데 그 이후가 이해가 안돼요... 줄기가 어떤 순서로 가는지 궁금해서 미치겠어요 ㅜ 20분을 들여다봐도 이해가..... ㅜㅜ
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
cnt는 어떤 약어인가요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 아주 약간 헷갈려서요.!
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
코드 리뷰 부탁드립니다!
안녕하세요 강사님 좋은 강의를 듣게 해주셔서 감사합니다. forEach문을 사용해서 접근해보았는데요, 코딩테스트에 적합한 풀이일까요? function minNumResult(...arr) { let result = 100; arr.forEach((item) => { if(result > item) result = item }); return result; } console.log(minNumResult(6, 5, 11));
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
역시나 좌측으로 Special Sort 되고 있습니다...
function specialBubbleSort([length, numbers]) { const nums = [...numbers]; for (let idx = 1; idx < length; idx++) { for (let jdx = idx; jdx > 0; jdx--) { if (nums[jdx] < 0 && nums[jdx-1] >= 0) [nums[jdx-1], nums[jdx]] = [nums[jdx], nums[jdx-1]] } } return nums; }
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
이것도 버블 정렬이 맞을까요,,?
function bubbleSort([length, numbers]) { const nums = [...numbers]; for (let idx = 1; idx < length; idx++) { for (let jdx = idx; jdx > 0; jdx--) { if (nums[jdx] < nums[jdx-1]) [nums[jdx-1], nums[jdx]] = [nums[jdx], nums[jdx-1]] } } return nums; }
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
선택 정렬...
선택 정렬로 제대로 구현된 것이 맞을까요?? function selectionSort([length, numbers]) { const nums = [...numbers]; let pickIdx = 0; for (let loop = 0; loop < length-1; loop++) { pickIdx = loop; for (let idx = loop + 1; idx < length; idx++) if (nums[pickIdx] > nums[idx]) pickIdx = idx; [nums[pickIdx], nums[loop]] = [nums[loop], nums[pickIdx]]; console.log(nums); } console.log(nums); return nums; }