목록PGM (98)
기록방
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 현재 인덱스의 수보다 뒤에있는 수 중에서 현재 수보다 크면서 가장 가까운 수를 찾는다. 그런 수가 없다면 -1을 저장한다. 🔸 문제 풀이 🔸 현재 수보다 큰 '가장 가까운 수'는 스택을 이용해 찾을 수 있다. 뒤에서부터 앞으로 진행해서, 현재 수보다 큰 값이 나올 때 까지 스택에서 수를 빼낸다. 만약 없다면 -1을 저장하고 현재 값을 스택에 넣고 다음을 계산한다. 현재 수보다 작은 수를 스택에서 빼도 되는 이유는 어차피 현재 수를 스택에 넣기 때문에, 이 다음 계산에서 생략해도 ..
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 위에서부터 아래로 땅따먹기하며 점수를 최대한 크게 만든다. 연속된 열의 땅을 밟을 수는 없다. 점수의 최대값을 반환한다. 🔸 문제 풀이 🔸 직전 행의 값들 중 같은 열이 아닌 값들 중 최대값을 누적해 나간다. 마짐가 행의 값들 중 최대값을 반환한다. 🔸 코드 🔸 class Solution { int solution(int[][] land) { int[][] dp = new int[land.length][4]; for (int i = 0; i < 4; i++) { dp[0][i] ..
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 입력 된 가격 배열에서 각 인덱스의 가격이 몇 초동안 떨어지지 않았는지 반환한다. 🔸 문제 풀이 🔸 스택에 각 가격 별 인덱스를 순서대로 저장한다. 현재 스택에 저장 된 인덱스의 가격이 현재 인덱스 가격보다 크다면 가격이 떨어진 것이므로, 스택에서 인덱스를 꺼내고 지나간 초를 저장한다. 🔸 코드 🔸 import java.util.Stack; class Solution { public int[] solution(int[] prices) { int[] answer = new int[..
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 5x5 좌표평면에서 상하좌우로 움직임의 명령어가 주어진다. 처음 걸어본 길의 길이를 반환한다. 🔸 문제 풀이 🔸 좌표가 5x5안에서 움직여야 하는것에 유의한다. 방문 했던 좌표가 아닌, 지나온 길의 수를 세야한다. 길의 수를 셀때 방향은 상관없음에 유의한다. 🔸 코드 🔸 import java.util.Set; import java.util.HashSet; class Solution { public int solution(String dirs) { char[] orders = di..
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 n x m 맵에서 (0, 0) 부터 (n-1, m-1) 까지 이동하는데 최단거리를 반환한다. 만약 도달할 수 없다면 -1을 반환한다. 🔸 문제 풀이 🔸 전형적인 최단거리 문제로 너비 우선 탐색(BFS)로 풀이할 수 있다. 🔸 코드 🔸 import java.util.ArrayDeque; import java.util.Queue; class Solution { private static class Point { private int row, col; public Point(int r..