[Python] 13414 - 수강신청 (실버3)
·
Coding Test/Solution
1. 문제 설명 https://www.acmicpc.net/problem/13414 13414번: 수강신청 입력 데이터는 표준 입력을 사용한다. 입력은 1개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 과목의 수강 가능 인원 K(1 ≤ K ≤ 100,000)와 학생들이 버튼을 클릭한 순서를 기록한 대기목 www.acmicpc.net 2. 아이디어 중복을 체크하면서 순서까지 정해줄 수 있을만한 자료형이 뭘까 하다가 딕셔너리를 사용했다. 파이썬을 사용해본지 한 달도 채 안 되던 때라 문제보단 dict 사용법 찾아다니느라 오래 걸렸었다. 딕셔너리 말고 다른 좋은 방법도 충분히 많겠지만, 난 모르겠다~~~ 3. 코드 import sys input = sys.stdin.readline # 딕셔너리 자료구조..
[Python] 11279 - 최대 힙 (실버2)
·
Coding Test/Solution
1. 문제 설명 https://www.acmicpc.net/problem/11279 11279번: 최대 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 www.acmicpc.net https://jaeseo0519.tistory.com/40#%EC%B-%-C%EC%--%-C%ED%-E%-- 그냥 힙을 공부해보고 싶어서 직접 구현해서 풀었던 문제..얜 귀찮아서 안했는데 최소힙을 그냥 뒤집어주면 된다. 2. 아이디어 - 3. 코드 import heapq import sys input = sys.stdin.readline def solution..
[Python] 1927 - 최소 힙 (실버2) : 최소 힙
·
Coding Test/Solution
1. 문제 설명 https://www.acmicpc.net/problem/1927 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 2. 아이디어 이 문제는 아이디어가 필요하다기 보다는 힙(Heap)에 대해 공부해보려고 직접 구현하여 풀었다. 문제 풀이가 목적이라면 그냥 heapq import시켜서 간단하게 해결할 수 있는 문제다. 난이도가 올라갈 수록 인접 행렬보다는 인접 리스트로 풀어야 하는 문제가 많이 나오기 때문에 heap에 대한 이해는 정말 기초 중에 기초로 익혀두어야 한다. 최소힙..
[Python] 2666 - 벽장문의 이동 (골드5)
·
Coding Test/Solution
1. 문제 설명 https://www.acmicpc.net/problem/2666 2666번: 벽장문의 이동 첫 번째 줄에 벽장의 개수를 나타내는 3보다 크고 20보다 작거나 같은 하나의 정수, 두 번째 줄에 초기에 열려있는 두 개의 벽장을 나타내는 두 개의 정수, 그리고 세 번째 줄에는 사용할 벽장들 www.acmicpc.net 2. 아이디어 여전히 기억에 남는 재밌는 문제였다. 속 편하게 3차원으로 풀어버렸다. 이유를 대강 서술하자면 다음과 같다. 첫 번째, cache를 1차원으로 잡고 1을 끌어오는 거리만큼 카운트를 한다. 좌하단 그림처럼 좌측에서 1을 끌어오느냐, 우측에서 1을 끌어오느냐에 따라 경우의 수를 따로 판단할 방법없음 두 번째, cache를 2차원으로 잡고 [open1][open2] 인..