본문 바로가기

2025 코딩 테스트5

[ 프로그래머스 ] JS - 숫자 문자열과 영단어 문제풀이1. 1부터 9까지의 영어(eng)와 숫자(num)를 각각 순서대로 배열에 집어넣는다2. replaceAll() 메서드를 이용해 s (문장)에서 영어로 된 문장(eng[i])을 숫자(num[i])로 바꿔준다.3. 숫자로 모두 바꾼 문장을 Number()을 이용해 정수로 바꿔준다.  결과 2025. 1. 12.
[ 프로그래머스 ] JS - 모의고사 (완전탐색) 문제풀이1. 수포자 1, 2, 3이 찍은 수를 각각의 배열로 만들어 저장하기2. 맞은 문제의 수를 세 줄 cnt 배열을 만든 후 각각 0으로 초기화 한다.3. for문을 사용해 answers 배열 각각의 값과 수포자 1,2,3 배열의 값이 같을 경우 cnt를 1씩 증가하기4. 현재 cnt에는 각각 맞은 개수가 들어있다. 여기서 가장 큰 값을 가진 수만 가져와야 된다. 5. Math.max()를 이용해 cnt배열에서 가장 큰 수를 구한다.6. for문을 돌려서 cnt 배열에서 위에서 구한 가장 큰 수랑 같은 값일 경우 그 값의 인덱스 + 1을 해 준다. function solution(answers) { let answer = []; let cnt = [0,0,0]; let firs.. 2025. 1. 8.
[ 프로그래머스 ] JS - 예산 문제 풀이이번 문제는 2가지 방법으로 풀어보았다.1. reduce를 이용한 방법reduce() : 누적값(arr)과 현재값(cur)을 통해 하나의 값을 반환한다 (누산)function solution(d, budget) { let answer = 0; d.sort((a,b)=>a-b); // 오름차순 정렬, 예산 내에서 가능한 많은 선택을 위해서 d.reduce((arr,cur)=>{ if(arr+cur 2. for문을 이용한 방법function solution(d, budget) { let answer = 0; let save = 0; for(let i=0; i 복잡하게 생각하지 않으면 간단하게 풀 수 있는 문제였던 것 같다! 2025. 1. 8.
[ 프로그래머스 ] JS - 완주하지 못한 선수 (해시) 문제 풀이사실 이 문제를 풀면서 막연히 중복된 값을 제거한 상태에서 비교해야겠다는 생각만으로 Set()함수 등을 사용해서 요리저리(?) 풀었지만 결과는 에러와 undefined로 돌아왔다.. 그래서 차근차근 풀어본 결과 sort() 메소드를 사용해서 풀 수도 있다는 것을 알았다. 1. sort()participant와 completion의 각각의 배열의 값을 정렬시킨다. (서로 비교하기 위함)2. forfor문을 돌려 정렬된 각각의 배열의 인덱스의 값이 같지 않으면(완주 못 함) 완주 못한 선수의 이름을 반환한다.  function solution(participant, completion) { participant.sort() completion.sort() for(let i=0; i.. 2025. 1. 5.