월 15,400원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
섹션 2-5 등수 구하기 이런식으로 구현해도 될까요?
function solution(arr) { let answer = []; let arr2 = [...arr]; let sort = arr2.sort((a, b) => { return b - a; }); for (let i = 0; i < arr.length; i++) { answer.push(sort.indexOf(arr[i]) + 1); } return answer; } let arr = [87, 89, 92, 100, 76]; console.log(solution(arr)); arr을 스프레드 연산자로 복사하고 sort를 통해 역순으로 정리후 arr2에 할당한 다음 indexOf를 이용해서 index값으로 찾아도 될까요?
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
안녕하세요 이렇게 코드를 짜도 문제가 없을까요?
<html> <head> <meta charset="UTF-8"> <title>출력결과</title> </head> <body> <script> function isPrime(x) { // 문자열뒤집기 let str = x.toString(); let sum = 0 for (let i = str.length - 1; i >= 0; i--) { sum += str[i]; } let num = parseInt(sum); for (let j = 2; j < num; j++) { if (num % j === 0) { return false; } } if (num !== 1) return num; } function solution(arr) { let answer = []; for (let x of arr) { if (isPrime(x)) { answer.push(isPrime(x)); } } return answer; } let arr = [32, 55, 62, 20, 250, 370, 200, 30, 100]; console.log(solution(arr)); </script> </body> </html> 강의 잘보고 있습니다. 최대한 혼자 짜보려 하는데 혼자 짜면짤수록 선생님 코드보단 심각하게 난잡하게 짜는감이 있어서 짜는 습관이나 그런것에 대하여 조언해주실것이 있으실까요?
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
졸업선물 화살표함수 질문
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script> function solution(m, product){ let answer=0; n=product.length; product.sort((a, b)=>(a[0]+a[1])-(b[0]+b[1])); // console.log(product); for(let i=0; i<n; i++){ let money=m } return answer; } let arr = [[6,6], [2,2], [4,3], [4,5], [10,3]]; console.log(solution(28, arr)); </script> </body> </html> 이 코드에서 product.sort((a, b)=>(a[0]+a[1])-(b[0]+b[1])); 가 잘 이해되지 않습니다. (a[0]+a[1])-(b[0]+b[1])빼주면 왜 sort함수에 의해 정렬이 되는지 궁금합니다.
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
코드 질문이요
function solution(arr) { let answer = 0; let arrLenth = arr.length; let test = 0; for (let i = 0; i < arrLenth; i++) { for (let j = 0; j < arrLenth; j++) { test++; if (arr[i - 1] && arr[i - 1][j] && arr[i - 1][j] > arr[i][j]) continue; if (arr[i + 1] && arr[i + 1][j] && arr[i + 1][j] > arr[i][j]) continue; if (arr[i][j - 1] && arr[i][j - 1] > arr[i][j]) continue; if (arr[i][j + 1] && arr[i][j + 1] > arr[i][j]) continue; answer++; } } console.log(answer); } 별로 안좋은 코드일까요?
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
이건 재귀가 맞나요..?
(사진)
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
while문 질문
let sum=0, tmp=x; while(tmp){ sum+=(tmp%10) console.log('(1)tmp 값',tmp); console.log('(1)sum 값',sum); tmp=Math.floor(tmp/10); console.log('(2)tmp 값',tmp); console.log('(2)sum 값',sum); } console.log('sum의 값',sum); 강의 잘 보고 있습니다. 위 코드에서 while문 질문입니다. 128(tmp)을 10으로 %하면 sum은 8, 다시 tmp를 10으로 나누면 이때 tmp는 12가 되는 것인가요?
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
강의 7.10부제
function solution(day,arr){ let answer = 0; for(let x of arr){ if(x.toString().slice(-1)===day.toString) parseInt(x) answer++ } return answer; } arr=[25,23,11,47,53,17,33] console.log(solution(3, arr)) 7로 나오는데 어 느 부분을 수정해야하면 좋을지 조언을 구하고싶습니다. 감사합니다
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
기타 풀이
function solution(str,char){ return str.length - str.replaceAll(char,"").length; } console.log(solution('COMPUTERPROGRAMMING','R'));
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
11 line에 조건문 중 첫번째 조건 꼭 필요한가요?
!map2.has(key)라는 조건이 반드시 필요한 조건인지 궁금하네요. 두번째 조건인 map2.get(key)!==val 에서 어차피 해당 key가 없다면 undefined 될거같은데 반례가 있을까요?
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
두칸씩 건너뛰는 의미
안녕하세요 강사님 1 2 3 4 5 6 7 저는 `한칸 또는 두칸씩 건너뛰면서` 라는 부분을 한칸 건너뛰기 : 1 -> 3 (2를 건너뛰고 3으로) 두칸 건너뛰기 : 1 -> 4 (2,3을 건너뛰고 4로) 위처럼 이해를 해서 3에 도착하는 경우의 수는 123 13 23 3 이렇게 4가지로 생각을 하고 풀었습니다ㅠㅠ 문제가 좀 헷갈리는거 같아요..
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
자료구조
쌤 알고리즘은 이 강의로 대비하면 될 거 같은데 자료구조는 어떤 식으로 해야할까요 ㅠㅠ? 비전공자라 감이 안와서 질문드려요!
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
연산자 조건문 대신 eval 사용해도 되나요?
if(x === '+') stack.push(lt + rt); else if(x === '-') stack.push(lt - rt); else if(x === '*') stack.push(lt * rt); else if(x === '/') stack.push(lt / rt); 이렇게 연산자 별로 조건문을 나눠서 푸시하셨는데 eval 을 사용해도 크게 상관없나요? stack.push(eval(lt+x+rt));
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
코드 좀 봐주세요!!
function solution(str) { let answer = ''; let stack = []; for (let s of str) { if (s === '(') stack.push(s); else if (s === ')') stack.pop(); else { if (stack.length === 0) answer += s; } } return answer; } 이렇게 풀어도 될까요,,?
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
반례를 알고 싶습니다!
const solution = (m, arr) => { let min = Math.floor(arr.reduce((acc, cur) => acc + cur, 0) / m); let sum = 0; let result = 0; for (let i = 0; i < arr.length; i++) { if (sum + arr[i] >= min) { result = sum + arr[i]; sum = 0; } sum += arr[i]; } return result; };
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
이렇게도 풀어봤어요 :)
function solution(arr){ let answer=[]; let max = 0 let randomPick = [] while (max !== 100) { const random = Math.floor(Math.random() * arr.length); if (randomPick.findIndex((item) => item === random) === -1) { randomPick.push(random) max += arr[random] answer.push(arr[random]) } if (randomPick.length === arr.length) { if (max === 100) { break; } max = 0 randomPick = [] answer = [] } } return answer; } let arr=[20, 7, 23, 19, 10, 15, 25, 8, 13]; console.log(solution(arr));
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
질문 있습니다!
저와 같은 경우 8섹션 문제들을 보면 대부분이 브루투스 포스, 그리디, 정렬에 관한 문제라고 떠오르게 되는데 알려주신 대로 문제를 보고 딱 이진 트리를 활용한 문제다 라고 명확하게 인식할 수 있는 방법은 없을까요?
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
첫 번째 fgr 문 내 idx 질문
i =0일 때 for문 다 돌고 i = 1일 때 idx도 1이 되나요?? 또한 i = 1일 때 j는 2이고 arr[j=2] < arr[idx=1]이 맞나요?ㅎ for문의 순서도가 너무 헷갈려서요 ㅠㅠ 이럴 떄 어떻게 공부해야하는지 알려주시면 감사하겠습니다!ㅎ
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
switch문을 사용해 풀어봤습니다
function rockScissorPaper2(a, b) { let answer = []; for(let i = 0; i < a.length; i++) { switch(true) { case a[i] === b[i]: answer.push('D'); break; case a[i] === 1 && b[i] === 2: case a[i] === 2 && b[i] === 3: case a[i] === 3 && b[i] === 1: answer.push('B'); break; case b[i] === 1 && a[i] === 2: case b[i] === 2 && a[i] === 3: case b[i] === 3 && a[i] === 1: answer.push('A'); break; } } console.log(answer); }
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
반례가 있는지 여쭈어보려고 합니다!
const solution = (str1, str2) => { let result = 0; for (let i = 0; i < str1.length; i++) { let sum = ""; let pointer = i; let count = str2.length; while (count--) { sum += str1[pointer++]; } const sorted = sum.split("").sort().join(""); if (sorted === str2) result++; } return result; }; const result = solution("bacaAacba", "abc"); console.log(result);
- 미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
sort 메서드를 사용하고 첫번째 것을 출력하는 것은 성능적으로 아쉬운가요 ?
당연히 배열 메서드에서 sort를 사용하고 첫번째 것을 가져올 줄 알았는데요. 보다 상세하게 그 과정을 풀어주신 것은 어떤 이유일까요? sort 후 첫번째 것을 가져오는 것이 성능이나 메모리 적으로 아쉬운 걸까요 ?