전체 글 55

[항해99 / WIL] 1주차 회고

1. 문제 (과제, 프로젝트를 진행하면서 부딪혔던 기술적인 문제) 이번 주차를 지나며 겪었던 문제가 무엇이었나요?- 과제는 해결을 했는데, 테스트를 통과하지 못하는 현상이 있었음- 테스트 스크립트를 통과하기 이전에 랜더링이 되어야 하는데 그 부분이 안되었다..라고 생각함..- 그러다 보니 과제의 의도를 잘못파악했나? 하는 생각이 들었음(동작이 된는데 테스트를 통과 못한다는게 이상해서) 2. 시도 문제를 해결하기 위해 어떤 시도를 하셨나요?- 팀모임 때 궁금한 점들을 공유하면서 힌트를 얻음 3. 해결 문제를 어떻게 해결하셨나요?- 챗지피티를 통해 코드작성에 대한 도움을 얻음- 다른 사람들의 코드를 참고하기도 함 4. 알게된 것 문제를 해결하기 위해 시도하며 새롭게 알게된 것은 무엇인가요?- fetch로 h..

[js / 알고리즘연습] 이어 붙인 수

문제설명 정수가 담긴 리스트 num_list가 주어집니다. num_list의 홀수만 순서대로 이어 붙인 수와 짝수만 순서대로 이어 붙인 수의 합을 return하도록 solution 함수를 완성해주세요.   나의 풀이function solution(num_list) { let string1 = ''; let string2 = ''; num_list.forEach((el, idx) => { if(el % 2 == 0) { string1 += String(el); } else { string2 += String(el); } }); return Number(string1) + Number(string2);} ..

frontend/javaScript 2024.09.12

[js / 알고리즘연습] 원소들의 곱과 합

문제설명정수가 담긴 리스트 num_list가 주어질 때, 모든 원소들의 곱이 모든 원소들의 합의 제곱보다 작으면 1을 크면 0을 return하도록 solution 함수를 완성해주세요.  풀이 과정  reduce를 쓰  나의 풀이function solution(num_list) { let square = num_list.reduce((acc, num) => { return acc * num; }); let sumAndSquare = num_list.reduce((acc, crr) => { return acc + crr; }); sumAndSquare = sumAndSquare**2; return square    best 풀이f..

frontend/javaScript 2024.09.12

[js / 알고리즘연습] 주사위게임2

문제설명 1부터 6까지 숫자가 적힌 주사위가 세 개 있습니다. 세 주사위를 굴렸을 때 나온 숫자를 각각 a, b, c라고 했을 때 얻는 점수는 다음과 같습니다. 세 숫자가 모두 다르다면 a + b + c 점을 얻습니다. 세 숫자 중 어느 두 숫자는 같고 나머지 다른 숫자는 다르다면 (a + b + c) × (a2 + b2 + c2 )점을 얻습니다. 세 숫자가 모두 같다면 (a + b + c) × (a2 + b2 + c2 ) × (a3 + b3 + c3 )점을 얻습니다. 세 정수 a, b, c가 매개변수로 주어질 때, 얻는 점수를 return 하는 solution 함수를 작성해 주세요.  풀이 과정 뭔가 깔쌈하게 풀고싶었는데 잘 안됐다.....각 조건을 변수에 담아서 분기처리 하고...식도 변수에 담아서 ..

frontend/javaScript 2024.09.12

[js / 알고리즘연습] 등차수열의 특정한 항만 더하기,

문제설명  두 정수 a, d와 길이가 n인 boolean 배열 included가 주어집니다. 첫째항이 a, 공차가 d인 등차수열에서 included[i]가 i + 1항을 의미할 때, 이 등차수열의 1항부터 n항까지 included가 true인 항들만 더한 값을 return 하는 solution 함수를 작성해 주세요.   풀이 과정included 가 배열의 형태로 들어오니까 이 배열을 기준으로 forEach를 돌리면 되겠다....고차배열 함수를 쓸 수는 없는걸까? 하는 고   나의 풀이function solution(a, d, included) { var answer = 0; included.forEach((el, idx) => { if(el == true) answer += a + ..

frontend/javaScript 2024.09.12

[js 기본기] arguments, Promise.all(), Promise.race()

1. argumentsarguments 는 유사배열 객체이다.함수 정의 할 때에 파라미터를 정의 하지 않아도실행문에 파라미터를 넣으면 알아서 배열로 정리 해줌. 배열을 뱉어내는 것처럼 보이지만 사실은 객체라서isArray로 감별해보면 false가 나온다. 그래서 map, filter 같은 고차배열 함수를 적용하려면 array로 한번 바꾼 뒤에 적용해야 한다.   2. Promise.all()Promise.all([promise1, promise2, promise3]) .then((results) => { console.log(results); // 모든 Promise가 성공했을 때 결과가 배열로 반환됨 }) .catch((error) => { console.err..

frontend/javaScript 2024.08.22

[js 기본기] Nullish coalescing operator, prototype 메소드

1. Nullish coalescing operator|| 연산자는 0을 false로 인식한다.그래서 0을 불린값이 아닌 숫자로 인식하고 싶을 때, null 체크를 null과 undefined로만 거르고 싶을 때 || 대신 ?? 를 사용하면 됨.0 || '10'   은 무조건 10 이지만 0 ?? '10' 은 0 이 된다.   2. 배열은 객체다. const arr = [1, 2, 3]; 으로 정의 한 뒤에 arr[' name'] = 4; 하면 그대로 생성이 된다.원래 배열은  key 값이 없으니까 생성되면 안될 것 같은데..뭐 그렇다고 한다.그래서 이렇게 객체처럼 할당된 배열인지 아닌지 여부를 판별해야 할 때가 있는데그때 instanceof(arr)메소드를 쓴다고 한다.이것은 최신 문법이므로 만약 js..

frontend/javaScript 2024.08.21

[js / 알고리즘연습]프로그래머스 lv0.n개 간격의 원소들

문제설명  정수 리스트 num_list와 정수 n이 주어질 때, num_list의 첫 번째 원소부터 마지막 원소까지 n개 간격으로 저장되어있는 원소들을 차례로 담은 리스트를 return하도록 solution 함수를 완성해주세요.   풀이 과정배열로 들어오니까 forEach를 돌린다idx값이 n의 배수일 때 새 배열에 push 한다   나의 풀이function solution(num_list, n) { var answer = []; num_list.forEach((el, idx) => { if(idx % n == 0) answer.push(el); }); return answer;}   best 풀이const solution = (num_list, n)..

frontend/javaScript 2024.08.19

[js / 알고리즘연습] 프로그래머스 lv1.문자 리스트를 문자열로 변환하기

문제설명문자들이 담겨있는 배열 arr가 주어집니다. arr의 원소들을 순서대로 이어 붙인 문자열을 return 하는 solution함수를 작성해 주세요.  풀이 과정 배열 -> string으로 변환해야하니까 forEach를 쓰자.   나의 풀이function solution(arr) { var answer = ''; arr.forEach((el)=> { answer += el; }) return answer;}   best 풀이function solution(arr) { return arr.join("")}   아하.... join을 알면 쉽게 풀리는 문제..

frontend/javaScript 2024.07.12

[js / 알고리즘연습] 프로그래머스 lv2. 최솟값 만들기

문제설명 길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다. 배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱한 값을 누적하여 더합니다. 이때 최종적으로 누적된 값이 최소가 되도록 만드는 것이 목표입니다. (단, 각 배열에서 k번째 숫자를 뽑았다면 다음에 k번째 숫자는 다시 뽑을 수 없습니다.) 예를 들어 A = [1, 4, 2] , B = [5, 4, 4] 라면 A에서 첫번째 숫자인 1, B에서 첫번째 숫자인 5를 뽑아 곱하여 더합니다. (누적된 값 : 0 + 5(1x5) = 5) A에서 두번째 숫자인 4, B에서 세번째 숫자인 4를 뽑아 곱하여 더합니다. (누적된 값 : 5 + 16(4x4) = 21)..

frontend/javaScript 2024.03.11