[Python] 백준 알고리즘 온라인 저지 1931 회의실 배정 https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 알고리즘 분류 정렬 그리디 알고리즘 알고리즘 분류와 같이 미리 정렬을 하고 풀이하는 것이 이 문제의 핵심이었다. 코드 import sys input = sys.stdin.readline n = int(input()) m = [] for _ in range(n): a, b = map(int, input().split()) m.append([a, b]) m.sort(key=lambda x: [x[1], x[0]]) cnt = 1 end_m = m[0][..
[Python] 백준 알고리즘 온라인 저지 3190 뱀 문제 https://www.acmicpc.net/problem/3190 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net 삼성 기출문제로 시뮬레이션 문제입니다. 난이도가 조금 있는 문제에 도전해보고 싶어 풀이하게 되었습니다. https://jjangsungwon.tistory.com/27 위 블로그의 풀이를 참조하였습니다. 코드 from collections import deque def change(d, c): # 상(0) 우(1) 하(2) 좌(3) # 동쪽 회..
[Python] 백준 알고리즘 온라인 저지 16194 카드 구매하기 2 https://www.acmicpc.net/problem/16194 16194번: 카드 구매하기 2 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000) www.acmicpc.net 저번 카드 구매하기 문제에서는 카드 n장을 구매 비용을 최댓값으로 구했다면 이번에는 최솟값을 구하는 문제이다. 코드 import sys input = sys.stdin.readline n = int(input()) p = [0] + list(map(int, input().split())) dp = [False for _ in ra..
[Python] 백준 알고리즘 온라인 저지 11047 동전 0 https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 필요한 동전의 최솟값은 k보다 작은 가장 큰 화폐들을 사용하고 잔돈을 사용하면 최솟값을 구할 수 있다. 이 개념만 안다면 어렵지 않게 문제를 풀이할 수 있다. 코드 import sys input = sys.stdin.readline n, k = map(int, input(..
[Python] 백준 알고리즘 온라인 저지 2525 오븐 시계 https://www.acmicpc.net/problem/2525 2525번: 오븐 시계 첫째 줄에 종료되는 시각의 시와 분을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수, 분은 0부터 59까지의 정수이다. 디지털 시계는 23시 59분에서 1분이 지나면 0시 0분이 된다.) www.acmicpc.net [Python] 백준 알고리즘 온라인 저지 10926 ??! https://www.acmicpc.net/problem/10926 10926번: ??! 준하는 사이트에 회원가입을 하다가 joonas라는 아이디가 이미 존재하는 것을 보고 놀랐다. 준하는 놀람을 ??!로 표현한다. 준하가 가입하려고 하는 사이트에 이미 존재하는 ..
[Python] 백준 알고리즘 온라인 저지 15686 치킨 배달 https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net 쉬워 보이는 문제 이름과는 다르게 어려웠던 문제였다. 브루트 포스 문제로 모든 조합을 계산하여 집과의 거리가 제일 가까운 m개의 치킨집을 구하고 그 합을 출력하는 문제이다. 코드 import sys from itertools import combinations input = sys.stdin.readline n,..