Problem Solving/Online Judge(57)
-
[프로그래머스] 배달
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 💬 문제 설명N개의 마을이 있고 각 마을은 도로로 연결되어 있다. 마을 간 이동 시간은 제각각 다르므로 1번 마을에서 각 마을까지의 최소 이동 시간을 구하려고 한다. 그 최소 이동 시간이 K 이하인 마을의 개수를 반환하라. 📌 주의 사항A 마을과 B 마을을 잇는 도로가 여러 개 존재할 수 있으므로 그럴 경우 이동 시간이 적은 도로의 정보를 저장한다. 👌 문제 풀이이동 시간을 저장하는 인접 행렬 정의INF 값으로 초기화`Math.min()`으로 이동 시간이 제일 작은 도로의 정보를 저장다익스트라 알고리즘으로 ..
2024.09.12 -
[프로그래머스] 섬 연결하기
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 💬 문제 설명연결되어 있는 두 정점 정보와 가중치 정보가 주어졌을 때 최소 비용(간선의 가중치의 합)으로 모든 섬을 연결하고 해당 최소 비용을 반환하라. 📌 주의 사항모든 섬 연결 + 최소 비용 → 최소 신장 트리(MST) 구성 👌 문제 풀이모든 섬을 최소 비용으로 연결해야 하므로 최소 신장 트리 알고리즘을 사용해야 한다.간선 정보를 알려주고 있으므로 간선 배열로 만들어서 사용하자.간선 배열이므로 크루스칼 알고리즘을 사용해야겠다!간선 배열을 가중치로 오름차 순 정렬모든 간선이 연결될 때까지 union-fin..
2024.09.05 -
[프로그래머스] 메뉴 리뉴얼
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 💬 문제 설명손님들이 주문한 메뉴들을 기반으로 코스요리를 구성하는데 손님들이 가장 많이 주문한 메뉴들로 코스 요리를 구성하고 메뉴 이름의 알파벳 순으로 배열을 구성해서 반환하라. 📌 주의 사항순열로 구하면 시간 초과... → 어차피 정렬된 순서의 메뉴를 선택해야 하므로 메뉴 목록을 미리 정렬해서 조합의 경우의 수로 구하자!가장 많이 주문한 코스요리 메뉴의 개수가 여러 개인 경우 모든 조합 반환 👌 문제 풀이orders 배열의 값(메뉴 목록)들을 알파벳 순으로 정렬String을 char[] 배열로 변환하여 A..
2024.08.29 -
[프로그래머스] 베스트 앨범
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 💬 문제 설명노래들의 장르와 재생 횟수가 주어졌을 때, 주어진 조건대로 정렬하고 각 장르 별로 최대 2개의 노래만 리턴하도록 한다.1. 속한 노래가 많이 재생된 장르를 먼저 수록합니다. (장르 별 총 재생횟수로 내림차 순)2. 장르 내에서 많이 재생된 노래를 먼저 수록합니다. (재생 횟수로 내림차 순)3. 장르 내에서 재생 횟수가 같은 노래 중에서는 고유 번호가 낮은 노래를 먼저 수록합니다. (고유 번호로 오름차 순) 📌 주의 사항장르 별로 가장 많이 재생된 노래를 최대 두 개까지 모아 베스트 앨범을 출시하므..
2024.08.21 -
[프로그래머스] 주식가격
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 💬 문제 설명초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 각각의 시점으로부터 가격이 떨어지지 않은 기간은 몇 초인지를 계산한다. 📌 주의 사항prices의 길이는 2 이상 100,000 이하모든 경우의 수를 확인하는 경우 O(N^2)으로 최악의 경우 약 100억 번의 연산을 하게 되므로 시간 초과 가능성 존재 👌 문제 풀이방법 1) 이중 for문으로 가격이 떨어질 때까지 count방법 2) 스택 이용해서 가격이 떨어지는 지점을 pop 하고 가격이 끝까지 떨어지지 않는 시점만 ..
2024.08.15 -
[프로그래머스] 실패율
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 💬 문제 설명전체 스테이지 별로 실패율을 구해야 함실패율 = (스테이지에 도달했으나 아직 클리어하지 못한 플레이어의 수) / (스테이지에 도달한 플레이어 수) 📌 주의 사항만약 실패율이 같은 스테이지가 있다면 작은 번호의 스테이지가 먼저 오도록 하면 된다. 👌 문제 풀이스테이지 별로 실패율을 가지고 있는 Map 구현스테이지 별로 실패율 계산keySet()으로 스테이지(key) 정보를 List에 담음(Set -> List)실패율(value 기준)로 ketSet을 내림차순으로 정렬정렬된 스테이지 정보를 담은 L..
2024.08.09