목록정렬 (39)
어흥
문제 링크:https://school.programmers.co.kr/learn/courses/30/lessons/142085# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 주의할 점 - 브루트포스 방식은 사용하지 않는다 2. 구현 - 병사를 사용하여 적을 막을 수 있을때까지 병사를 사용한다 - 적이 남은 병사보다 많은 경우, 현재 라운드 포함해서 가장 많이 사용한 병사에 대해 무적권을 사용한다. 이때, K가 0이라면 해당 라운드부턴 성공이 불가능하므로 for문을 종료한다 - Answer 초기값을 -1로 설정하여 갱신되지 않았다면 전체 라운드를 클..
문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/147354 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 주의할 점 - 행과 열이 0이 아닌 1부터 시작한다 - 한번은 오름차순 정렬, 한번은 내림차순 정렬이다 - 원소들의 합에 대한 mod 연산이 아닌, 각 원소의 mod 연산에 대한 합이다 - 첫 mod 합은 XOR 연산을 수행하지 않는다 2. 구현 - 조건에 따른 정렬을 하는 우선순위 큐를 사용한다 - 해시값에 대해서 XOR 연산을 계속해서 수행한다 #include #includ..
문제 링크: https://www.acmicpc.net/problem/22232 22232번: 가희와 파일 탐색기 첫 번째 줄에 jo_test 폴더에 있는 파일 개수 N과 가희가 설치한 OS에서 인식하는 파일 확장자의 개수 M이 공백으로 구분되어 주어집니다. 2번째 줄부터 N+1번째 줄까지 FILENAME.EXTENSION 형식의 문자열 www.acmicpc.net 1. 주의할 점 - 정렬 순서를 정리한다 - OS에서 인식하는 확장자인지 구분할 수 있는 방법을 생각한다 2. 구현 - List에 파일명들을 저장한다 - HashSet에 OS에서 인식하는 확장자명을 삽입한다 - List에 저장된 파일명들을 불러와서 파일명, 확장자명, OS에서 인식여부를 구하고 우선순위큐에 삽입한다 - 우선순위큐의 정렬 기준은..
문제 링크: https://www.acmicpc.net/problem/19598 19598번: 최소 회의실 개수 서준이는 아빠로부터 N개의 회의를 모두 진행할 수 있는 최소 회의실 개수를 구하라는 미션을 받았다. 각 회의는 시작 시간과 끝나는 시간이 주어지고 한 회의실에서 동시에 두 개 이상의 회의 www.acmicpc.net 1. 주의할 점 - 정렬기준을 잡는다 - 2개의 우선순위큐를 이용한다 2. 구현 - 각 입력에 대한 정보들을 시작시간에 대한 오름차순, 종료시간에 대한 내림차순으로 정렬하는 우선순위큐 PQ에 담는다 - 현재 진행중인 회의에 대한 종료시간을 담는 우선순위 큐 haveRight에 PQ의 첫 원소의 종료시간을 담고 시작한다 - haveRight 우선순위큐는 오름차순으로 정렬한다 - 우선..
문제 링크: https://www.acmicpc.net/problem/9007 9007번: 카누 선수 이 문제에서는 입력은 표준 입력을 사용한다. 입력의 첫 줄에는 T개의 테스트 케이스가 주어진다. 각 테스트 케이스에는 두 개의 정수 k와 n이 주어지며, k( 1 ≤ k ≤ 40,000,000)는 보트의 특정 값 그 www.acmicpc.net 1. 주의할 점 - 시간복잡도를 줄이려고 노력한다 - TestCase를 시작하기 전, 연산에 사용되는 모든 벡터 및 값을 초기화한다 2. 구현 - 4개의 집합(V[])을 2개씩 묶어서 각 집합의 모든 원소의 합을 twoSum[]에 저장한다 - 두 집합의 합을 구할때: O(N^2) - twoSum을 통해 Weight과 비교할 때(twoSum[0]의 길이를 A(=N^..
문제 링크: https://www.acmicpc.net/problem/22867 22867번: 종점 주행을 마친 버스들이 종점에 들어온다. 종점에 들어온 버스는 버스를 정비하기 위한 자리에 들어간다. 즉, 종점에 버스 4대가 있다면 버스를 정비할 수 있는 공간이 최소 4개 이상 필요하다. www.acmicpc.net 1. 주의할 점 - 정렬 방법을 잘 수립한다 - 우선순위 큐를 사용한다 - 초기에 구상했던 정렬에 대한 반례는 아래에 있습니다 (PQ 1개만 이용) 더보기 #TC 1 3 00:00:00.000 00:00:00.002 00:00:00.000 00:00:00.010 00:00:00.002 00:00:00.010 AC: 2 #TC 2 6 00:00:00.000 00:00:00.002 00:00:0..
문제 링크: https://www.acmicpc.net/problem/17612 17612번: 쇼핑몰 입력의 첫 줄에는 2개의 정수 N(1 ≤ N ≤ 100,000)과 k(1 ≤ k ≤ 100,000)가 주어진다. 다음 줄부터 N개의 줄에 걸쳐 고객 N명의 정보가 줄 맨 앞의 고객부터 맨 뒤 고객까지 순서대로 주어진다. i번째 www.acmicpc.net 1. 주의할 점 - 우선 순위큐에 사용될 정렬 방법을 잘 정리한다 - 사람수 < 카운터 수 일 때? 2. 구현 - Cmp 비교함수를 통해 우선순위큐의 정렬 방법을 정리한다 - Counter의 수만큼 enterCounter 우선순위큐에 미리 삽입한다 (id는 0으로 설정. 이유는 하단에..) - id와 물건의 수 w를 입력받고, enterCounter의 ..