문제https://school.programmers.co.kr/learn/courses/30/lessons/81303# 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이이 문제.... 쉽지 않았다...처음에는 Map 객체를 이용해 구현했는데, 테스트 케이스는 통과하지만 정답은 아니였다.function solution(n, k, cmd) { const map = new Map(); const del = []; for (let i = 0; i k + 1) { if (map.get(k + 1) !== 'X') { while (..
코딩 테스트/프로그래머스 코딩 테스트 연습
문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이우선 이 문제를 만든 카카오에 대해 크나 큰 존경이 들었다. 이게 참... 확실히 굉장한 사람들이 모인 집단같다.... 이 문제를 처음 봤을 때는 브루트 포스를 이용해 문제를 풀어 정확도는 전부 맞았지만, 효율성에서 통과되지 않았다. 이 문제의 효율성 테스트를 통과하기 위해서는 누적합 알고리즘을 이용해야한다. 문제는 필자는 이 사실을 정말 알지도 못했기 때문에 긴 시간동안 풀지 못해 풀이를 설명하는 글을 참고했다. 1차원 배열의 누적합을 이용해 풀이해 [2, 3, 3, 1]의 배열에서 1번 인덱스 부터..
문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이수학적으로 접근식을 생각하며 괜찬은 문제이다. 이 문제의 답은 결국 탑승 가능한 마지막 시간을 출력해야하기 때문에 대기 인원과 현재 시간을 중점으로 생각하면 점화식이 나오게된다. 시간을 오름차순으로 정렬했으며 각 시간마다 승객들을 탑승가능 인원수 만큼 shift() 해주었으며, 마지막 타임에 대기 인원의 유무와 대기 인원이 온 시간을 종합하여 답을 도출했다. 코드function solution(n, t, m, timetable) { const arriveTimes = Array.from({ length..
문제https://school.programmers.co.kr/learn/courses/30/lessons/17681 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이입력을로 받은 배열에 저장되어 있는 숫자들을 2진수로 변환한 뒤, 자릿수를 맞춰주고 OR 연산을 이용해 벽의 구현을 진행해준다. 코드const solution = (n, arr1, arr2) => { arr1 = arr1.map(e => { let binary = e.toString(2); const len = binary.length; for (let i = 0; i {..
문제https://school.programmers.co.kr/learn/courses/30/lessons/81301 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이각 영단어를 배열에 넣은 뒤 영단어를 기준으로 split 메서드를 이용해 문자열을 나눈다. 이렇게 나누어진 문자열을 join 메서드를 이용해 숫자(문자열이 배열에서 갖고 있는 인덱스)로 다시 연결해준다. 코드const solution = (s) => { const arr = [ "zero", "one", "two", "three", "four", "five"..
문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이이 문제는 DP 알고리즘을 이용해 풀이하는 문제이다. 이 문제를 보면 홀수 길이의 경우 절대 조건을 만족하는 경우가 없기에 0을 반환한다. 짝수 길이의 경우 점화식이 존재한다. 처음에는 어떻게 점화식을 만들지 잘 몰랐다. 하지만, 조금 더 생각해보면 짝수 길이만 되며, 이전의 경우를 이용한 경우를 추가하며 이전 값들을 이용하는 DP 알고리즘의 이용이 필요하다는 것을 알게되었다. 점화식은 ((dp[i - 1] * 4)) - (dp[i - 2]) % 1000000007 이지만, 이 경우는 dp[i - 1]..