본문 바로가기

코딩테스트/Python

(225)
[Python] 백준 #2529 - 부등호 문제 https://www.acmicpc.net/problem/2529 2529번: 부등호 두 종류의 부등호 기호 ‘’가 k개 나열된 순서열 A가 있다. 우리는 이 부등호 기호 앞뒤에 서로 다른 한 자릿수 숫자를 넣어서 모든 부등호 관계를 만족시키려고 한다. 예를 들어, 제시 www.acmicpc.net 풀이 n = int(input()) arr = list(input().split()) num = [False]*10 sol = [] answer = [] def dfs(cnt): if cnt==n: answer.append(''.join(map(str,sol))) # 숫자 다 넣었으면 answer에 추가 return for i in range(10): # 두번째 숫자부터 부등호 비교 if num[i] =..
[Python] 백준 #14620 - 꽃길 문제 https://www.acmicpc.net/problem/14620 14620번: 꽃길 2017년 4월 5일 식목일을 맞이한 진아는 나무를 심는 대신 하이테크관 앞 화단에 꽃을 심어 등교할 때 마다 꽃길을 걷고 싶었다. 진아가 가진 꽃의 씨앗은 꽃을 심고나면 정확히 1년후에 꽃이 피므 www.acmicpc.net 풀이 import sys n = int(input()) arr = [list(map(int,sys.stdin.readline().strip().split())) for _ in range(n)] dx = [1,0,-1,0] dy = [0,1,0,-1] visited = [[False]*n for _ in range(n)] sol = 201*n*n def flower(cnt,c): globa..
[Python] 백준 #2910 - 빈도 정렬 문제 https://www.acmicpc.net/problem/2910 2910번: 빈도 정렬 첫째 줄에 메시지의 길이 N과 C가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ C ≤ 1,000,000,000) 둘째 줄에 메시지 수열이 주어진다. www.acmicpc.net 풀이 from collections import Counter n,m = map(int,input().split()) arr = list(map(int,input().split())) x = Counter(arr).most_common() for a,b in x: for _ in range(b): print(a,end=' ') Counter(arr).most_common()를 사용해준다. 꺄 숏코딩 또 올라갔다!
[Python] 백준 #3474 - 교수가 된 현우 문제 https://www.acmicpc.net/problem/3474 3474번: 교수가 된 현우 첫째 줄에 테스트 케이스의 개수 T가 주어지고, 이어서 T개의 줄에 정수 N이 주어진다(1
[Python] 백준 #17298 - 오큰수 문제 https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 풀이 import sys n = int(input()) arr = list(map(int,sys.stdin.readline().strip().split())) stack = [] # 오큰수를 구하지 못한 인덱스 스택 answer = [-1 for i in range(n)] stack.append(0) for i in range(1,n): while stack and arr[stack[-1]] < arr..
[Python] 백준 #2636 - 치즈 문제 https://www.acmicpc.net/problem/2636 2636번: 치즈 아래 과 같이 정사각형 칸들로 이루어진 사각형 모양의 판이 있고, 그 위에 얇은 치즈(회색으로 표시된 부분)가 놓여 있다. 판의 가장자리(에서 네모 칸에 X친 부분)에는 치즈가 놓 www.acmicpc.net 풀이 from collections import deque import queue import sys import copy n,m = map(int,input().split()) arr = [list(map(int,sys.stdin.readline().split())) for _ in range(n)] dx = [1,0,-1,0] dy = [0,1,0,-1] # 치즈녹이기 def melt(): global n,..
[Python] 백준 #14502 - 연구소 문제 https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 풀이 import sys from collections import deque import copy n,m = map(int,input().split()) arr = [list(map(int,sys.stdin.readline().strip().split())) for _ in range(n)] dx = [-1,0,1,0] dy = [0,1,0,-1] def makeWall(cnt): # 완전탐색으로 벽을..
[Python] 백준 #2583 - 영역 구하기 문제 https://www.acmicpc.net/problem/2583 2583번: 영역 구하기 첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오 www.acmicpc.net 풀이 import queue import sys from collections import deque m,n,k = map(int,input().split()) arr = [[0]*n for _ in range(m)] for _ in range(k): a,b,c,d = map(int,sys.stdin.readline().strip().split()) for i in ran..