코딩 테스트

문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 문자열에도 indexOf()를 사용할 수 있다. 정답 function solution(my_string, is_prefix) { return my_string.indexOf(is_prefix) === 0 ? 1 : 0; }
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 배열 형태의 변수가 주어지면 새롭게 배열을 만들기보다 해당 배열을 이용해서 정답을 만드는 게 낫다. 정답 function solution(my_string, index_list) { return index_list.map(x => my_string.substring(x, x + 1)).join(""); }
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 Array.from()으로 배열을 만들고 start에서 각각의 인덱스 값을 뺀 결과를 출력한다. 정답 function solution(start, end) { return Array.from({ length: start - end + 1 }, (x, i) => start - i); }
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 findIndex()는 주어진 판별 함수를 만족하는 배열의 첫 번째 요소에 대한 인덱스를 반환한다. 만족하는 요소가 없으면 -1을 반환한다. const array1 = [5, 12, 8, 130, 44]; const isLargeNumber = (element) => element > 13; console.log(array1.findIndex(isLargeNumber)); // Expected output: 3 정답 function solution(num_list) { return num_list...
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 while문의 조건을 잘 입력하면 break를 쓰지 않아도 된다. 정답 function solution(numbers, n) { let answer = 0; let i = 0; while (answer < n) { answer += numbers[i]; i++; } return answer; }
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 slice()로 잘라내는 방법이 가장 간단하다. 좀 더 복잡한 조건이 필요할 때는 forEach()가 필요할 수도 있다. 정답 function solution(num_list, n) { return num_list.slice(0, n); } function solution(num_list, n) { let answer = []; num_list.forEach((x, index) => { if (index + 1
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 Array.from()과 화살표 함수 동시에 사용하기 // Using an arrow function as the map function to // manipulate the elements Array.from([1, 2, 3], x => x + x); // [2, 4, 6] // Generate a sequence of numbers // Since the array is initialized with `undefined` on each position, // the value of `v` bel..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 reduce 안에서 이렇게 삼항 연산자를 쓸 수도 있다. 정답 function solution(num_list) { return num_list.reduce((a, b) => (num_list.length >= 11 ? a + b : a - b)); }
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 "flag ?"는 flag가 true인지 아닌지 판별한다. 정답 function solution(a, b, flag) { return flag ? a + b : a - b; }
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 "문자열 뒤의 n글자"는 결국 "문자열 뒤에서부터 n글자"와 의미가 같다. 문자열의 길이에서 n을 뺀 값이 시작점이 된다. 끝점의 값은 substring에서 my_string.length(해당 문자열의 길이)로 잡는다. 그런데 사실 끝점의 값을 생략해도 동일한 결과가 출력된다. 정답 function solution(my_string, n) { return my_string.substring(my_string.length - n); } function solution(my_string, n) { re..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 이 문제에서는 map보다는 slice나 substring으로 푸는 게 더 적당하다. 정답 function solution(my_string, n) { return my_string.slice(0, n); } function solution(my_string, n) { return my_string.substring(0, n); } // my_string을 배열로 바꾼다 // map을 돌려 인덱스가 n 이하면 해당 값을 반환한다 // 인덱스가 n을 초과하면 빈 문자열("")을 반환한다 // 문자열 형..
문제 2444번: 별 찍기 - 7 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net 정답 let fs = require("fs"); let filePath = process.platform === "linux" ? "/dev/stdin" : "test.txt"; let N = Number(fs.readFileSync(filePath).toString()); for (let i = 1; i 0; j--) { let blank = " ".repe..
문제 10812번: 바구니 순서 바꾸기 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가장 왼쪽 바구니를 1번째 바구니, 그 다음 바구니를 2 www.acmicpc.net 정답 let fs = require("fs"); let filePath = process.platform === "linux" ? "/dev/stdin" : "test.txt"; let input = fs.readFileSync(filePath).toString().trim().split("\n"); let [n, m] = input.shift().split(" ").map(Number); let rotate = input.map(x => x.s..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 같은 옹알이를 연속으로 할 수 없다는 점을 주의해서 풀어야 한다. 배열에서 발음 가능한 문자열을 각각의 숫자로 치환한다. map을 돌려 배열의 모든 요소를 개별적으로 쪼개고 숫자로 바꾼다. filter를 통해 숫자가 아닌 배열을 제거한다. for문으로 해당 배열에 연속된 숫자가 있으면 "X"를 추가한다. filter로 "X"가 없는 배열을 세서 반환한다. 정답 function solution(babbling) { for (let i = 0; i < babbling.length; i++) { babb..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 function solution(name, yearning, photo) { const obj = {}; name.map((x, idx) => { if (obj[x] === undefined) obj[x] = yearning[idx]; }); const answer = photo // .map(x => x.map(x => (obj[x] === undefined ? 0 : obj[x]))) .map(x => x.reduce((a, b) => a + b)); return answer; }
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 participant는 필연적으로 completion 전체를 포함하기 때문에 sort를 이용해 간단히 풀 수 있다. let participant = ["marina", "josipa", "nikola", "vinko", "filipa"]; let completion = ["josipa", "filipa", "marina", "nikola"]; participant.sort(); completion.sort(); console.log(participant); // [ 'filipa', 'josipa'..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 입력받은 변수 X를 새로운 변수에 할당하지 않고 새로운 값으로 변경시켜도 된다. 여기에서 for문은 X와 Y에 서로 중복되는 값을 체크한다. X와 Y에 0부터 10까지의 숫자가 몇 개씩 들어 있는지 확인하고, 더 적게 들은 쪽을 answer에 repeat해서 채운다. 정답 function solution(X, Y) { X = X.split("").map(Number); Y = Y.split("").map(Number); let answer = ""; // 0부터 10까지의 숫자가 X, Y에 각각 몇..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 function solution(n, lost, reserve) { let newLost = lost .filter(x => !reserve.includes(x)) .sort((a, b) => a - b); let newReserve = reserve .filter(x => !lost.includes(x)) .sort((a, b) => a - b); const num = newLost.length; let borrow = 0; for (let i = 0; i < newLost.length; i++)..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 paintIndex는 빈 칸에서부터 페인트를 칠한 마지막 인덱스 값이다. 정답 function solution(n, m, section) { let answer = 0; let paintIndex = 0; section.forEach(x => { if (x > paintIndex) { answer++; paintIndex = x + m - 1; } }); return answer; }
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 메모 goal 배열의 첫 번째 요소가 cards1 혹은 cards2의 첫 번째 요소에 존재하지 않으면 "No"를 반환한다. 정답 function solution(cards1, cards2, goal) { let answer = "Yes"; for (let i = 0; i < goal.length; i++) { if (goal[i] === cards1[0]) { cards1.shift(); } else if (goal[i] === cards2[0]) { cards2.shift(); } else { answ..
카버
'코딩 테스트' 카테고리의 글 목록 (4 Page)