목록PGM (98)
기록방
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 x축에 평행한 미사일들의 시작과 끝 인덱스가 주어진다. 요격 하기 위해서 미사일들의 범위에 해당하는 곳을 선택해야하며 끝 인덱스에 걸칠 수는 없다. 요격에 필요한 미사일의 최소 수를 구한다. 🔸 문제 풀이 🔸 최소한의 요격 미사일 개수로 최대한 많은 수의 폭격 미사일을 요격해야 하므로 그리디 문제로 볼 수 있다. 포격 미사일의 범위가 겹치는 인덱스를 빠르게 알기 위해 끝 인덱스로 오름차순 정렬한다. 문제에서의 제한 사항으로 실수 좌표도 가능하며 끝 인덱스에 겹치면 안된다. 이전 ..
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 정수 x, y, n이 입력된다. x를 3가지 연산 (+n, x2, x3) 으로 y를 만드는 최소 연산 횟수를 반환한다. y를만들 수 없으면 -1을 반환한다. 🔸 문제 풀이 🔸 BFS와 DP로 풀이할 수 있다. BFS는 각 인덱스를 처음 방문했으면 다음 3가지 연산을 수행해서 y를 찾아가는데, y를 초과하거나 이미 방문 했으면 제외한다. DP는 x부터 y까지 인덱스를 늘려가며 계산하는데, 처음 방문이면 현재 값을 넣고 이미 값이 있으면 더 작은 값을 선택하는 방식으로 y를 만들어 ..
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 n x m 크기의 땅에 석유 덩어리들이 있다. 어느 지점에서 시추해야 가장 많은 석유를 시추하는지 구한다. 시추는 가장 위에서 수직으로 하는데, 시추기가 지나가는 석유 덩이리를 모두 시추할 수 있다. 🔸 문제 풀이 🔸 석유 덩어리를 처음 발견했을때 다음과 같이 처리한다. 석유 덩어리 번호를 붙인다. 해당 덩어리의 크기를 탐색해 파악하고, 번호에 맞게 크기를 저장해둔다. 마지막에 모든 지점에서 시추해보며, 시추 되는 석유량의 최대값을 반환한다. 🔸 코드 🔸 import java.u..
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 배열에 특정 부분을 잘라 나오는 두 집합의 원소 종류 수가 같은 경우의 수를 반환한다. 🔸 문제 풀이 🔸 순서대로 한 인덱스씩 잘라보며 계산한다. 토핑을 인덱스로 구분해 카운트하고, 1이상인 원소들의 수를 카운트로 따로 계산한다. 두 집합의 원소 카운트가 같은 경우의 수를 반환한다. 🔸 코드 🔸 class Solution { public int solution(int[] topping) { // Input int[] t1 = new int[10_001]; int[] t2 = ne..
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 오픈채팅방에서 입장, 퇴장, 닉네임 변경 세 가지 기능의 기록이 주어진다. 사용자는 유저 아이디로 구분되는데, 입장 때의 닉네임이나 닉네임 변경 시 닉네임이 변경 될 수 있다. 사용자가 들어오고 나간 기록을 문자열 배열로 반환하는데, 최종 변경 된 닉네임으로 나타내야한다. 🔸 문제 풀이 🔸 사용자 아이디에 따른 닉네임을 맵으로 기록하고, 최종 반환 전 문자열로 변환한다. 🔸 코드 🔸 import java.util.Map; import java.util.HashMap; import..