본문 바로가기
반응형

Problem Solving239

[BOJ][Python]1697번 풀이 https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net from collections import deque n,k = map(int, input().split()) q = deque([[n,0]]) visited = [False for _ in range(100001)] visited[n] = True while 1: if n == k: print(0) break p = q.popleft() a = p[0]-1 b = p[.. 2022. 6. 16.
[BOJ][Python]11724번 풀이 https://www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주 www.acmicpc.net import sys input = sys.stdin.readline sys.setrecursionlimit(10000) def sol(v): if visited[v] == True: return else: visited[v] = True for i in range(len(edges)): if edges[i][0] == v: sol(ed.. 2022. 6. 16.
[BOJ][Python]2161번 풀이 https://www.acmicpc.net/problem/2161 2161번: 카드1 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net from collections import deque n = int(input()) d = deque([i for i in range(1,n+1)]) while len(d)>1: print(d.popleft()) d.append(d.popleft()) print(d.popleft()) 예전에 이런 비슷한 문제를 풀었던 기억이 있는데요. 그 때는 데크를 쓸 줄 몰라서 그냥 리스트로 어찌어찌 풀었던 .. 2022. 6. 14.
[BOJ][Python]11279번 풀이 https://www.acmicpc.net/problem/11279 11279번: 최대 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 www.acmicpc.net import heapq import sys ssr = sys.stdin.readline n = int(ssr()) h = [] for _ in range(n): a = int(ssr()) if a > 0: heapq.heappush(h,-a) else: if len(h) == 0: print(0) else: print(-heapq.heappop(h)) 이번엔 최대힙입니다. 파이.. 2022. 6. 14.
[BOJ][Python]9372번 풀이 https://www.acmicpc.net/problem/9372 9372번: 상근이의 여행 첫 번째 줄에는 테스트 케이스의 수 T(T ≤ 100)가 주어지고, 각 테스트 케이스마다 다음과 같은 정보가 주어진다. 첫 번째 줄에는 국가의 수 N(2 ≤ N ≤ 1 000)과 비행기의 종류 M(1 ≤ M ≤ 10 000) 가 www.acmicpc.net import sys input = sys.stdin.readline t = int(input()) for _ in range(t): n,m = map(int, input().split()) v = [list(map(int, input().split())) for _ in range(m)] print(n-1) 당연하다면 당연한 것이고 꼼수라면 꼼수가 있는 문제입.. 2022. 6. 13.
[BOJ][Python]19947번 풀이 https://www.acmicpc.net/problem/19947 19947번: 투자의 귀재 배주형 2020년에 학교로 복학한 주형이는 월세를 마련하기 위해서 군 적금을 깨고 복리 투자를 하려고 한다. 주형이가 하려는 투자에는 3가지 방법의 투자 방식이 있다. 1년마다 5%의 이율을 얻는 투자 ( www.acmicpc.net import math def sol(i): if i==11: return if i=3 and i 2022. 6. 13.
[BOJ][Python]2740번 풀이 https://www.acmicpc.net/problem/2740 2740번: 행렬 곱셈 첫째 줄에 행렬 A의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 순서대로 주어진다. 그 다음 줄에는 행렬 B의 크기 M과 K가 주어진다. 이어서 M개의 줄에 행렬 B의 원소 K개 www.acmicpc.net n,m = map(int, input().split()) a = [list(map(int, input().split())) for _ in range(n)] m,k = map(int, input().split()) b = [list(map(int, input().split())) for _ in range(m)] c = [[0 for _ in range(k)] for _ in r.. 2022. 6. 13.
[BOJ][Python]2630번 풀이 https://www.acmicpc.net/problem/2630 2630번: 색종이 만들기 첫째 줄에는 전체 종이의 한 변의 길이 N이 주어져 있다. N은 2, 4, 8, 16, 32, 64, 128 중 하나이다. 색종이의 각 가로줄의 정사각형칸들의 색이 윗줄부터 차례로 둘째 줄부터 마지막 줄까지 주어진다. www.acmicpc.net import sys ssr = sys.stdin.readline def sol(r,c,length): global paper_cnt, blue_cnt std = 0 color_cnt = 0 for i in range(r,r+length): for j in range(c,c+length): std += 1 color_cnt += b[i][j] if std == color_.. 2022. 6. 13.
[BOJ][Python]1927번 풀이 https://www.acmicpc.net/problem/1927 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net import heapq import sys input = sys.stdin.readline n = int(input()) h = [] for _ in range(n): order = int(input()) if order > 0: heapq.heappush(h,order) else: if len(h)==0: print(0) else: print(heapq.heappop(h)) .. 2022. 6. 12.
[BOJ][Python]1475번 풀이 https://www.acmicpc.net/problem/1475 1475번: 방 번호 첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수이다. www.acmicpc.net from math import ceil d = {i:0 for i in range(9)} s = input() s=s.replace('9','6') for i in s: d[int(i)] += 1 d[6]=ceil(d[6]/2) ans=0 for key, value in d.items(): if value > ans: ans = value print(ans) 이제 슬슬 구현 문제도 많이 풀어보면 좋겠다는 생각이 드는데요. 구현 문제는 아이디어가 안떠오르거나 떠오른 아이디어를 어떻게 코드로 옮길지.. 2022. 6. 11.
반응형