목록python (59)
rueki
https://www.acmicpc.net/problem/1715 1715번: 카드 정렬하기 정렬된 두 묶음의 숫자 카드가 있다고 하자. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. 이를테면, 20장의 숫자 카드 묶음과 30장 www.acmicpc.net 카드의 개수가 최소인 것끼리 더해나가는 것이 가장 최적의 해를 구할 수 있는 방법이다. 우선순위 큐를 사용하여 차례대로 뽑는 방식을 사용 문제의 예시로는 카드가 순서대로 10, 20, 40 이렇게 입력된다. 1. 10 + 20 2. (10 + 20) + 40 import queue card_queue = queue.PriorityQueue() n = int(input()) for _..
https://www.acmicpc.net/problem/1051 1051번: 숫자 정사각형 N×M크기의 직사각형이 있다. 각 칸에는 한 자리 숫자가 적혀 있다. 이 직사각형에서 꼭짓점에 쓰여 있는 수가 모두 같은 가장 큰 정사각형을 찾는 프로그램을 작성하시오. 이때, 정사각형은 행 www.acmicpc.net - 정사각형 최대 변은 가로, 세로 중 적은 길이가 최대값을 가지게 됨 - 변이 제일 짧은 경우부터 차례대로 정사각형 각 모서리 값을 비교 n, m = map(int, input().split()) arr = [] for i in range(n): arr.append(list(input())) max_sq = min(n, m) ans = 0 for i in range(n): for j in ran..
https://www.acmicpc.net/problem/1758 1758번: 알바생 강호 첫째 줄에 스타박스 앞에 서 있는 사람의 수 N이 주어진다. N은 100,000보다 작거나 같은 자연수이다. 둘째 줄부터 총 N개의 줄에 각 사람이 주려고 하는 팁이 주어진다. 팁은 100,000보다 작거나 같 www.acmicpc.net 1. 최대로 돈 많이 갖고 있는 사람이 제일 먼저 받으면 팁 제일 많이 받을 수 있음 2. 내림차순 정렬 후 총 합 계산 n = int(input()) tip = [int(input()) for _ in range(n)] tip.sort(reverse=True) result = 0 for idx, t in enumerate(tip): ri = idx + 1 real_tip = t..
- 구현, 시뮬레이션 https://www.acmicpc.net/problem/1331 1331번: 나이트 투어 나이트 투어는 체스판에서 나이트가 모든 칸을 정확히 한 번씩 방문하며, 마지막으로 방문하는 칸에서 시작점으로 돌아올 수 있는 경로이다. 다음 그림은 나이트 투어의 한 예이다. 영식이는 6× www.acmicpc.net - 나이트 이동 : [2, 1] 혹은 [1, 2]씩만 이동(좌표 음수, 양수 상관 없이) -> 1. 현재 좌표와 이전 좌표간의 거리가 결국 다 일정함 (2d distance 개념 사용) sqrt((x2-x1)^2 + (y2-y1)^2) -> 2. 마지막 좌표에서 시작 좌표로 돌아가야 끝나기 때문에 마지막에 1번의 개념 한번 더 사용해서 확인 #입력, 빈 체스판 생성 chess_a..