목록PGM (98)
기록방
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 0에서 n까지 이동하는 최소 점프 수를 반환한다. 점프하면 한 칸 앞으로 이동한다. 텔레포트하면 현재 인덱스의 2배 인덱스로 이동하고, 점프 수는 증가하지 않는다. 🔸 문제 풀이 🔸 텔레포트는 짝수 인덱스에서만 가능하고, 점프 수가 증가하지 않으므로 무조건 많이 쓰면 좋다. 0부터 시작해 n으로 향하면, 쓸 데 없는 경우의 수가 많아지므로 확실히 도착하는 경로를 찾기 위해서 n부터 시작해 0으로 끝나도록 계산한다. 현재 수가 짝수라면 n/2 절반 인덱스로 이동한다. (텔레포트) ..
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 사람을 무게 제한이 limit인 구명 보트로 각각 최대 2명씩 구조할 수 있다. 모든 사람을 구하기 위한 구명보트 개수의 최솟값을 반환한다. 🔸 문제 풀이 🔸 그리디적으로 접근한다. 사람들의 몸무게를 정렬한다. 오름차순으로 정렬했을때 가장 무거운 사람이 오른쪽 끝에 있다. 가장 무거운 사람을 옮길 때 가장 가벼운 사람과 같이 탈 수 없다면, 혼자만 탈 수 있다. 가장 무거운 사람 + 가장 가벼운 사람 둘이 탈 수 있으면 타고 탈출하면 된다. 🔸 코드 🔸 import java.ut..
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 인원 수 n과 끝말잇기 문자열 배열이 입력된다. 몇 번째 인원이 자신의 몇 번째 차례에서 틀렸는지 반환한다. 아무도 틀리지 않았다면 [0, 0] 을 반환한다. 🔸 문제 풀이 🔸 각 문자열마다 직전 문자의 끝 문자를 잇는지, 이미 나왔던 문자는 아닌지 확인한다. 만약 나왔던 문자라면, 인원 번호와 그 차례를 저장하고 반복을 종료한다. 🔸 코드 🔸 import java.util.Set; import java.util.HashSet; class Solution { public int[..
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 직사각형의 태두리 격자 수 brown과 그 안쪽 격자의 수 yellow를 입력받는다. 직사각형의 가로와 세로 길이를 반환한다. 🔸 문제 풀이 🔸 가로 길이는 세로 길이보다 크거나 같다. 세로 길이를 1부터 가로와 같아 질 때 까지 키워가며 brwon과 yellow값이 나오는지 확인한다. brown = 2x + 2y - 4 2(x + y - 2) = brown x + y = brown/2 + 2 yellow = (x-2) * (y-2) 🔸 코드 🔸 class Solution { p..
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 문자열 s에서 2번 연속으로 나온 문자쌍을 제거해간다. 제거 한 후 앞 뒤로 붙여야하고 그때 만들어진 문자쌍도 지워야 한다. 🔸 문제 풀이 🔸 스택 자료구조를 사용한다. 스택의 가장 위 문자가 현재 문자와 같으면 꺼내고, 다르면 현재 문자를 스택에 넣는다. 마지막에 스택이 비어있으면 문자열을 모두 제거할 수 있는것이므로 1을 반환한다. 🔸 코드 🔸 import java.util.Stack; class Solution { public int solution(String s) { c..