본문 바로가기

코딩테스트76

[ 프로그래머스 ] 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.
[ 프로그래머스 ] JS - 문자열 다루기 기본 문제 풀이이 문제의 조건은 크게 2가지로 나눌 수 있다.1. 문자열(s)의 길이가 4 또는 6인가?2. 문자열(s)이 숫자로만 구성 되어 있는가?여기서 문자열이 숫자로만 구성 되어 있는가 이부분을 구하기 위해서 정규 표현식을 사용해서 문제를 해결해 보았다!  👉🏻 정규표현식let s = 'a123'let str = s.replace(/[^0-9]/g,''); // 숫자가 아닌것을 공백으로 바꿈 'a123' -> '123'여기서 ^은 not(부정)을 뜻한다let str = s.replace(/[^a-z]/g,'') // 영어가 아닌것을 공백으로 바꿈 'a123' ->'a'  결과function solution(s) { let str = s.replace(/[^0-9]/g,'') return .. 2024. 12. 13.