본문 바로가기
320x100

PS84

[CLASS 4]백준 17144번 - 미세먼지 안녕! 17144번 - 미세먼지 안녕! 고통스러운 문제이다. 뭔가 삼성 역량테스트A 에서나 나올법한 구현 문제이다. 이런 문제는 문제 자체는 이해하기도 어렵지 않은데, 구현 그 자체가 힘들다. 처음에는 BFS로 해보려다가, 시프팅 되는 순간 큐에 있는 위치정보가 개판이 되기 때문에 그렇게 하지 않고 그냥 이중 for문으로 완전탐색 하면서 확산시키기로 했다. 내 코드(pypy3 제출): # dawitblog.tistory.com/147 from sys import stdin input = stdin.readline R,C,T = map(int,input().split()) # 미세먼지 정보 mat = [] # 공기청정기 위치 cl = [] # 확산 방향 move = [(0,1),(0,-1),(1,0),(-1,0).. 2021. 4. 29.
[CLASS 4]백준 17070번 - 파이프 옮기기 1 17070번 - 파이프 옮기기 1 처음 보고 BFS로 풀리겠거니~ 해서 그냥 BFS로 질렀다. 빠르게 작성하고 테스트 케이스도 잘 돌아가서 빠르게 제출했다. 내 코드(BFS,시간 초과): # dawitblog.tistory.com/146 from sys import stdin from collections import deque input = stdin.readline # 입력 n = int(input()) mat = [] for _ in range(n): mat.append(list(map(int,input().split()))) # (r,c,status) status는 0 -> 가로 , 1 -> 세로 , 2 -> 대각선 q = deque([(0,1,0)]) # 경우의 수 변수 count = 0 whi.. 2021. 4. 28.
[CLASS 4]백준 14502번 - 연구소 14502번 : 연구소 일단 이 문제를 처음 보고 어떻게 풀지 전혀 몰랐었다. BFS 인건 확실한데, 어떤 기준으로 벽을 세워야 할지 전혀 알 수가 없었다. 그래서 고민 끝에 풀이를 검색해 봤는데, 그냥 브루트포스로 벽을 다 세워보는 것이었다.... 내 코드(python3 시간 초과): # dawitblog.tistory.com from sys import stdin from collections import deque from copy import deepcopy input = stdin.readline move = [(1,0),(-1,0),(0,1),(0,-1)] def find(): global maxSafe q = deque(virus) copyMat = deepcopy(mat) while q: .. 2021. 4. 26.
[CLASS 4]백준 13172번 - Σ 13172번 : Σ 문제가 정말 길고 비문학을 읽는 듯한 기분을 주지만 다른 지식 필요없고 문제만 풀고 싶다면 집중해야할 부분은 정해져 있다. 문제를 열심히 읽다보면 어쨌든 b의 모듈러 곱셈에 대한 역원 (b^-1)을 구해야 한다는 것을 깨달을 수 있는데, 그 값은 (b^x-2)%x 를 통해 얻을 수 있다고 한다. 이 부분만 캐치했다면 어떻게든 문제는 풀어낼 수 있다. 내 코드: from sys import stdin from math import gcd input = stdin.readline mod = 1_000_000_007 ans = 0 # 거듭제곱 def multi(x,y): if y == 1: return x if y%2 : return x * multi(x,y-1) % mod t = mult.. 2021. 4. 25.