[백준][PyPy3] 2246번 콘도 선정 - 코팩
·
백준/완전 탐색
https://www.acmicpc.net/problem/2246 2246번: 콘도 선정 첫째 줄에 콘도의 개수를 나타내는 자연수 N(1 ≤ N ≤ 10,000)이 주어진다. 다음 N개의 줄에는 각 콘도에 대한 정보를 나타내는 두 정수 D(1 ≤ D ≤ 10,000), C(1 ≤ C ≤ 10,000)가 주어진다. D는 그 콘도의 www.acmicpc.net 풀이 본 코드는 PyPy3를 통해 제출되었음을 알립니다. 문제를 풀기 위해 주어진 조건을 보면됩니다. X보다 바닷가에 더 가까운 콘도들은 모두 X보다 숙박비가 더 비싸다. X보다 숙박비가 더 싼 콘도들은 모두 X보다 바닷가에서 더 멀다. 조건을 해석하면 다음과 같습니다. 다음 조건에 위배되는 콘도는 후보로 선정될 수 없습니다. X보다 바닷가에 더 가까..
[백준][Python] 2161번 카드 1 - 코팩
·
백준/자료구조
https://www.acmicpc.net/problem/2161 2161번: 카드1 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 풀이 deque를 이용해주어서 문제를 풀어주었습니다. rotate를 사용하지않고 append와 popleft를 이용해서 문제를 풀어주셔도 됩니다. # 2161번 카드1 from collections import deque n = int(input()) queue = deque(list(range(1, n+1))) while queue: print(queue.popleft(), end = " ") ..
[백준][Python] 4485번 녹색 옷 입은 애가 젤다지? - 코팩
·
백준/DFS&BFS
https://www.acmicpc.net/problem/4485 4485번: 녹색 옷 입은 애가 젤다지? 젤다의 전설 게임에서 화폐의 단위는 루피(rupee)다. 그런데 간혹 '도둑루피'라 불리는 검정색 루피도 존재하는데, 이걸 획득하면 오히려 소지한 루피가 감소하게 된다! 젤다의 전설 시리즈의 주 www.acmicpc.net 풀이(BFS 풀이) 기존의 BFS문제와 같이 BFS로 주어진 동굴을 탐색할 것입니다. 파이썬에서는 BFS를 사용할 경우 deque를 이용해줍니다.이 deque에 다음 좌표를 집어넣는 조건을 다음과 같이 설정하였습니다. 기존의 저장된 루피 값보다 현재의 루피 값이 작을 경우에만 deque에 좌표를 넣어주었습니다. 모든 좌표가 최소 루피 값을 가질 경우에 BFS함수가 종료됩니다. #..
[백준][Python] 25305번 커트라인 - 코팩
·
백준/구현
https://www.acmicpc.net/problem/25305 25305번: 커트라인 시험 응시자들 가운데 1등은 100점, 2등은 98점, 3등은 93점이다. 2등까지 상을 받으므로 커트라인은 98점이다. www.acmicpc.net 풀이 # 25305번 커트라인 n, k = map(int, input().split()) scores = list(map(int, input().split())) scores.sort(reverse =True) print(scores[k-1]) 출력결과
[백준][Python] 11053번 가장 긴 증가하는 부분 수열 - 코팩
·
백준/다이내믹 프로그래밍
https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 풀이 가장 긴 증가하는 부분 수열을 구하는 알고리즘을 LIS(Longets Increasing Subsequence) 알고리즘이라 부릅니다. dp를 활용하여 문제를 풀어줍니다. # 11053번 가장 긴 증가하는 부분 수열, Longest Increasing Subsequence import sys N = int(inpu..
[백준][Python] 16439번 소년 점프 - 코팩
·
백준/DFS&BFS
https://www.acmicpc.net/problem/16469 16469번: 소년 점프 첫째 줄에 미로의 행과 열의 크기를 나타내는 자연수 R과 C가 주어진다. (2 ≤ R, C ≤ 100) 다음 R줄에 걸 쳐 길이 C로 이루어진 각 줄의 미로의 정보가 공백 없이 주어진다. 숫자 0은 이동 가능한 www.acmicpc.net 풀이 스윙스, 넉살, 창모가 모이는데 최소 경과 시간과 그러한 지점들의 개수를 출력해주는 것이 목표입니다. # 16469번 소년 점프 import sys from collections import deque input = sys.stdin.readline # 좌표 dxs = [0, 0, 1, -1] dys = [1, -1, 0, 0] # row 행, col 열 row, col ..
[백준][Python] 15663번 N과 M (9) - 코팩
·
백준/백트래킹
https://www.acmicpc.net/problem/15663 15663번: N과 M (9) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 풀이 백트래킹 N과 M 시리즈 문제입니다. 순열 문제이며 사전순으로 출력하지않아도 됩니다. for문을 유용하게 사용하기 위해 visited로 방문한 숫자를 마킹해주었습니다. # 15663번 N과 M (9) n, m = map(int, input().split()) nums = list(map(int, input().split())) nums.sort() ans = [] visited = [Fal..
[백준][Python] 11286번 절댓값 힙 - 코팩
·
백준/자료구조
https://www.acmicpc.net/problem/11286 11286번: 절댓값 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 풀이 힙 문제를 풀기 위해서 heapq 라이브러리를 import해서 사용해주었습니다. 힙에는 [절댓값(숫자), 숫자] 형태로 넣어주었습니다. 출력시에는 '숫자'만 출력할 수 있게 인덱스 1을 써서 뽑아줍니다. # 11286번 절댓값 힙 import sys, heapq heap = [] k = int(input()) for _ in range(k): num = int(sys.s..
개발자 성현
개발새발 블로그