본문 바로가기
728x90

배움 기록/코테 연습32

[프로그래머스] 빈 배열에 추가, 삭제하기 : JavaScript 📌 문제 📌 풀이function solution(arr, flag) { let X = []; arr.forEach((num, i) => { if (flag[i]) { X = X.concat(Array(num * 2).fill(num)); } else { X.splice(-num, num); } }) return X}Array() : 새로운 Array 를 생성할 때 사용한다.Array(n)은 길이가 n인 배열을 만든다.fill() : Array.prototype.fill(n)에서 n은 배열을 채울 값이다.즉, Array(n).fill(n) 은 길이가 n인 배열을 만들고, 배열의 모든 요소를 n으로 .. 2025. 2. 17.
[프로그래머스] 왼쪽 오른쪽 : JavaScript 📌 문제 📌 풀이처음 풀이 🚫function solution(str_list) { var answer = []; str_list.forEach((item, idx) => { if (item === 'l') { answer = str_list.slice(0, idx); return } if (item === 'r') { answer = str_list.slice(idx + 1); return } }) return answer;}forEach() 를 사용해 조건에 맞는 경우에 로직을 실행하고 return 을 통해 반복문을 멈추도록 의도했다.하지만 코드 실.. 2025. 2. 2.
[프로그래머스] 2의 영역 : JavaScript 📌 문제 📌 풀이처음 풀이 🚫function solution(arr) { const indexArr = []; let result; arr.forEach((num, idx) => { if (num === 2) indexArr.push(idx); }) if (indexArr.length === 0) { result = [-1]; } if (indexArr.length === 1) { result = [arr[indexArr[0]]]; } if (indexArr.length > 1) { result = arr.slice(indexArr[0], indexArr[indexArr.length - 1] + 1);.. 2025. 1. 30.
[프로그래머스] 세로 읽기 : JavaScript 📌 문제 📌 풀이function solution(my_string, m, c) { let result = ''; for (let i = c - 1; i  처음 문제를 접했을 때는 무조건 m 글자씩 자른 뒤, 다음 로직을 생각하려고 했다. 그런데 생각해보면 자를 필요가 없다. 만약 주어진 입출력 예처럼 m이 4이고, c가 2일 경우my_string의 1번째, 5번째, 9번째 .. 글자를 뽑아내면 되는 것이고, my_string의 length 전까지만 이를 반복하면 되는 것이었다.즉, 1번째, 5번째, 9번째 .. 는 index 를 뽑아내야 하므로 i의 초기값은 c - 1 로 하면 된다. 그 후,  i의 값에 m 을 더하며 반복한다. 특별히 메서드를 배우지는 않았지만생각의 전환을 했으면 좀 더.. 2025. 1. 25.
728x90