본문 바로가기

Algorithm475

[파이썬] 프로그래머스 : 두 원 사이의 정수 쌍 (레벨2) [파이썬] 프로그래머스 : 두 원 사이의 정수 쌍 (레벨2)https://school.programmers.co.kr/learn/courses/30/lessons/181187풀이방향성 생각1사분면 + x>0인 x축만 세주기 (O(N)) 전체코드def solution(r1,r2): answer = 0 for x in range(1,r2+1): y2_sq = int((r2**2-x**2)**0.5) # y2_sq보다 같거나 작은 (1부터 int(y2_sq)) # y1도 같은 방식으로 구해서 빼준다. if x코멘트코드 바이트 수 줄인다고 띄어쓰기 줄이는 식으로 짰는데 걍 늘려서 짜야될듯... 가독성 떨여저서 실수함 2025. 3. 19.
[파이썬] 백준 20390 : 완전그래프의 최소 스패닝 트리 (골드1) [파이썬] 백준 20390 : 완전그래프의 최소 스패닝 트리 (골드1)https://www.acmicpc.net/problem/20390풀이방향성 생각메모리 제한 있는줄 모르고 크루스칼 했더니 메모리 초과.범위만 보면 $O(NlogN)$ ~ $O(N^2)$까지 가능하다.항상 MST 구성에서는 크루스칼 써서 프림 알고리즘 배우면서 프림 알고리즘으로 풀이.메모리 제한 때문에 힙 쓰는 방식 대신 $O(NlogN)$으로 풀이.  전체코드import sysinput = sys.stdin.readlineINF = float('inf')N = int(input())A,B,C,D = map(int,input().split())X = list(map(int,input().split()))# MST seed : node .. 2025. 3. 19.
[파이썬] 프로그래머스 : 충돌 위험 찾기 (레벨2) [파이썬] 프로그래머스 : 충돌 위험 찾기 (레벨2)프로그래머스 : 충돌 위험 찾기 (레벨2) 풀이방향성 생각이동 우선순위가 정해져있어서 도착 위치에 돌때까지 while문으로 루프 돌리기.각 위치별로 경로 모두 탐색같은 시간대에 여러개의 로봇이 같은 좌표에 있으면 그 시간/좌표에 대해서 정답 카운팅 pythonfrom collections import defaultdict as dddef solution(points, routes): # 각 point끼리 path 모두 구하기 paths = {} for sidx,(sy,sx) in enumerate(points,1): path = [(sx,sy)] x,y = sx,sy for eidx,(ey,ex) i.. 2025. 3. 19.
[파이썬] 백준 14719 : 빗물 (골드5) [파이썬] 백준 14719 : 빗물 (골드5)https://www.acmicpc.net/problem/빗물풀이방향성 생각왼쪽 벽이 아닌 높이에서 출발해서 같은 높이의 벽을 세워준다.마찬가지로 오른쪽 벽이 아닌 높이에서 출발해서 같은 높이의 벽을 세워준다.그 이상의 높이들은 비가 안오므로 그냥 1로 처리해주기이후 BFS 진행해서 남은 영역 넓이 구하기나는 그냥 입력받기 쉽게 그냥 회전시켜서 풀었다. 파이썬from collections import dequeimport sysinput = lambda : sys.stdin.readline().rstrip()inside = lambda x,y : 0테케 받아서 BFS 돌리기import sysinput = sys.stdin.readlineH, W = map(in.. 2025. 3. 17.