문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/49994 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 상하좌우 커맨드를 처리할 함수는 객체형식으로 정리해 선언해줬다. 이 방식은 처음 사용해 보는데 괜찬은거 같아서 적용해 봤다. 커맨드를 이용해 움직일 때 입력되는 위치의 조건을 걸어야 한다. 좌표는 x와y 좌표 모두 -5부터 5까지의 범위를 갖기때문에 왼쪽을 예로들면 x좌표가 -4부터 5까지는 왼쪽으로 이동할 수 있고 이외의 경우는 입력된 좌표 그대로 반환해준다. 이 개념..
코테준비
문제 설명 https://www.acmicpc.net/problem/12865 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net 문제 풀이 방법 이 문제는 꽤나 유명한 DP문제 중 배낭문제이다. 처음 문제에 접근할 때 DFS으로 접근했지만 시간초과 에러가 발생해 DP 풀이를 참고했다. 물건의 총 갯수 n, 넣을 수 있는 총 무게 maxWeight를 이용해 각 물건을 넣는 시도를 할 때마다 각 무게에서의 최대 가치값을 측정하기 위해 가로가 maxWe..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/154539 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 원래 이 문제를 이중 for문을 이용해 풀어봤다.... 하지만 시간초과가 뜨면서 실패했다..... 그래서 질문탭에서 스택으로 풀어보라는 글을 보고 스택으로 문제를 풀어봤다. 그런데도 설계를 잘 못하겠어서 구글링을 통해 다른 분이 작성한 코드를 참고했다. 코드 const solution = (numbers) => { let answer = Array.from({lengt..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/12913 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 이 문제는 DP를 이용해 풀어야 하는 문제이다. 나도 그리디를 적용해 문제를 풀어봤지만 실패했다... DP에서 중요한 이전 결과를 저장하고 사용하는 방법을 이용해서 행별 최대값을 land에 다시 할당해서 문제를 풀었다. 두번째 반복문에서 복사한 배열에 0을 넣어주는 이유는 같은 열에 있는 수를 제외한 나머지 수의 합을 비교하기 위함이다. 코드 const solution ..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/84512 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 이 문제는 dfs를 이용해 완전탐색으로 문제를 풀었다. 사실상 모든 경우의 수가 5 * 5 * 5 * 5 * 5 + 5 * 5 * 5 * 5 + 5 * 5 * 5 + 5 * 5 + 5 = 3905 이기에 시간복잡도는 고려하지 않아도 된다고 생각했다. 코드 function solution(word) { let arr = []; const dfs = (str, length)..
2024-10-01 수정문제 설명https://school.programmers.co.kr/learn/courses/30/lessons/92341 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 풀이 방법 구현 문제이며, 입력으로 주어지는 각 차량의 출입 기록을 split 메서드를 이용해 잘 분리하면 데이터의 정리는 끝났다고 볼 수 있다. 이 문제에서 가장 중요한 로직은 시간 계산 로직이다. 이 문제에서는 분 단위로 계산하기 때문에 24간을 나타내는 1440분에서 1분 뺀 1439분을 잘 이용해야 한다. 1439 - (각 차량의 출입에서의 시간)을 이용해..