https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 풀이 구명보트는 최대 2명밖에 사용할 수 없으므로 투포인터를 활용하자 몸무게를 오름차순으로 정렬한 후 left는 가장 첫 번째 몸무게를, right는 가장 마지막 몸무게를 가리킨다. 이 두 몸무게를 합쳤을 때 limit보다 작거나 같다면 둘 다 구명 보트에 탑승하고, 아니면 right - 1해서 다시 비교하기를 반복하자. 이때 구명보트에 탑승했다면 answer + 1해주자. (answer 초..
https://school.programmers.co.kr/learn/courses/30/lessons/43164 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 풀이 일단 딕셔너리 자료 구조에 a 공항에서 방문할 수 있는 모든 도시 정보를 저장하자 dfs를 사용하기 위해 딕셔너리 자료 구조가 필요하다. key는 공항이고, value는 해당 공항에서 방문 가능한 모든 도시 정보가 담긴 리스트이다. 이때 각 공항별 방문 가능 도시 정보를 알파벳 역순으로 정렬하자. 나중에 한 도시씩 방문할 때 pop() 메서드를 사용할 것인데, 알파벳 역순으로 정렬되어 ..
https://school.programmers.co.kr/learn/courses/30/lessons/42627 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 풀이 현재 시간까지 요청된 모든 작업들 중에서 가장 작업 소요 시간이 짧은 것부터 처리하자 ➡ 최소 heap heap에 요청된 작업을 모두 넣어두고 나서 한 개를 꺼내면, 바로 그것이 가장 짧은 소요 시간을 가지는 작업이다. 현재 시간 time에서 가장 짧은 작업의 작업 시간만큼 더해서 해당 작업이 처리됐음을 표현한자. 만약 현재 시간까지 요청된 작업이 없다면, 1초를 증가하고 다시 요청 작..
https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 풀이 가장 먼저 두 단어의 서로 다른 철자 개수를 세는 함수를 만들자 현재 단어 current에서 다른 단어로 변환하기 위해선 current와 다른 단어는 딱 1개만 서로 다른 철자를 가져야 한다. 따라서 변환할 수 있는 단어를 찾기 위해 해당 함수가 필요하다. 재귀를 돌려서 계속 words 단어 내 단어를 탐색하자 재귀 함수 종료 조건은 현재 단어 current와 target이 같을 때이다..