목록정렬 (39)
어흥
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/72411 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 1. 주의할 점 - Set을 적절히 사용하며 정렬을 잘 활용해야 한다 2. 구현 - 만들 메뉴의 수를 Len set에 저장한다 - Orders 벡터에 있는 원소를 정렬하며, 원소 자체(문자열)도 정렬한다 - Orders 벡터에 있는 원소로 만들 수 있는 메뉴 구성을 DFS() 함수를 통해 생성하며, 만약 able의 길이가 Len에 포함된 숫자와 같다면..
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/85002 코딩테스트 연습 - 6주차 복서 선수들의 몸무게 weights와, 복서 선수들의 전적을 나타내는 head2head가 매개변수로 주어집니다. 복서 선수들의 번호를 다음과 같은 순서로 정렬한 후 return 하도록 solution 함수를 완성해주세요 programmers.co.kr 1. 주의할 점 - 승률을 소수점도 포함한다 - 승률을 계산할 때, 이긴횟수와 진 횟수를 통해 계산한다(N 포함x) 2. 구현 - Info 구조체를 통해 각 정보를 저장한다 - Cmp operator를 통해 우선순위큐의 정렬 방법을 설정한다 - 각 선수들의 정보를 계산하여 우선순위큐에 넣고, 다 끝났으면 1개씩 빼면서..
문제 링크: www.acmicpc.net/problem/14746 14746번: Closest Pair Your program is to read from standard input. The input consists of four lines. The first line contains two integers, n (1 ≤ n ≤ 500,000) and m (1 ≤ m ≤ 500,000), where n is the number of points in set P and m is the number of points in set Q. In th www.acmicpc.net 1. 주의할 점 - 두 포인터를 사용하여 해결한다 2. 구현 - 각 원소를 P,Q 벡터에 담는다 - P,Q 벡터를 오름차순으로 정렬한다..
문제 링크: programmers.co.kr/learn/courses/30/lessons/43164 코딩테스트 연습 - 여행경로 [["ICN", "SFO"], ["ICN", "ATL"], ["SFO", "ATL"], ["ATL", "ICN"], ["ATL","SFO"]] ["ICN", "ATL", "ICN", "SFO", "ATL", "SFO"] programmers.co.kr 1. 주의할 점 - 지문을 정확히 읽어야 한다 (만일 경로가 여러개일 경우, 알파벳 순서가 앞선것 출력) - 알파벳 순서에 대한 처리를 수행한다 2. 구현 - 티켓에 포함된 공항명을 Map에 담는다. 또한, 경로에 대한 정보를 V[출발공항 번호]에 '도착공항'을 담는다 - V[] 벡터에 대해 알파벳 숫자가 앞선 순서대로 정렬한다 ..
문제 링크: programmers.co.kr/learn/courses/30/lessons/43236 코딩테스트 연습 - 징검다리 출발지점부터 distance만큼 떨어진 곳에 도착지점이 있습니다. 그리고 그사이에는 바위들이 놓여있습니다. 바위 중 몇 개를 제거하려고 합니다. 예를 들어, 도착지점이 25만큼 떨어져 있고, 바위가 programmers.co.kr 1. 주의할 점 - 브루트포스로 접근하지 않는다 - 구하려는 수의 범위가 크다 + O(N^2)의 경우로는 TLE가 발생할 것 같다 → 최소 O(NlgN)의 방법으로 접근한다 2. 구현 - 구하려는 답의 크기가 1~10억 사이의 수 → 이분탐색으로 접근 - 파라미터로 전달받은 Rocks의 수가 정렬되어 있지 않다 -> 이분탐색을 위해 정렬 - V 벡터에..
문제 링크: www.acmicpc.net/problem/11000 11000번: 강의실 배정 첫 번째 줄에 N이 주어진다. (1 ≤ N ≤ 200,000) 이후 N개의 줄에 Si, Ti가 주어진다. (1 ≤ Si < Ti ≤ 109) www.acmicpc.net 1. 주의할 점 - 모든 강의에 대한 정보와, 현재 진행중인 강의를 어떻게 정렬할 것인지 잘 계획한다 2. 구현 - 모든 강의를 우선순위 PQ에 담는다. PQ의 경우, 시작시간이 빠른순으로 정렬하며, 시작시간이 같은 경우 종료 시간이 빠른 순으로 정렬한다. 종료시간을 1순위로 할 경우, 아래 TC에서 오답을 받게된다 TC #1 6 1 9 2 11 3 11 4 11 12 15 9 17 Answer: 4 - 현재 강의중인 강의실을 PQ2로 설정하고,..
문제 링크: www.acmicpc.net/problem/1484 1484번: 다이어트 첫째 줄부터 한 줄에 하나씩 가능한 성원이의 현재 몸무게를 오름차순으로 출력한다. 가능한 몸무게가 없을 때는 -1을 출력한다. 현재 몸무게는 자연수로 떨어지지 않을 수도 있는데, 이런 경우 www.acmicpc.net 1. 주의할 점 - a*a - b*b = (a+b)*(a-b)로 접근한다 2. 구현 - G = (a+b)*(a-b)라고 생각하여 G의 약수중에서 작은 값을 V벡터에 넣는다. 즉, a-b의 값을 V에 너흔ㄴ다 - V에 있는 값을 통해 a+b를 구한다. - {(a+b) + (a-b)}/2 = a 식을 통해 a를 구한다. 이때, 좌변은 2로 나누기 전, 짝수여야 한다 - 모든 a 값을 ans벡터에 넣고 정렬한 ..
문제 링크: www.acmicpc.net/problem/2437 2437번: 저울 하나의 양팔 저울을 이용하여 물건의 무게를 측정하려고 한다. 이 저울의 양 팔의 끝에는 물건이나 추를 올려놓는 접시가 달려 있고, 양팔의 길이는 같다. 또한, 저울의 한쪽에는 저울추들만 놓 www.acmicpc.net 1) 주의할 점 - 브루트포스 -> 2^1000 -> TLE발생 - DP -> 방법이 떠오르지 않는다 2) 구현 - 도저히 방법이 떠오르지 않아 질문게시판에서 힌트를 얻어서 해결했다 - 우선 Result = 1로 설정을 한다(양의 정수 중 가장 낮은 값이므로). 이때, Result는 지금까지 원소들의 합 + 1이라고 생각하면 된다 - 입력받은 모든 수를 Arr[]배열에 저장한 후, 오름차순으로 정렬한다 - 0..