본문 바로가기

Algorithm/etc111

[파이썬] 백준 1780 : 종이의 개수 (실버2) [파이썬] 백준 1780 : 종이의 개수 (실버2) 1780번: 종이의 개수 N×N크기의 행렬로 표현되는 종이가 있다. 종이의 각 칸에는 -1, 0, 1 중 하나가 저장되어 있다. 우리는 이 행렬을 다음과 같은 규칙에 따라 적절한 크기로 자르려고 한다. 만약 종이가 모두 같은 수 www.acmicpc.net 문제 풀이 0.방향성 생각 첫 케이스에서 어떻게 움직일지 규칙을 찾고 하드코딩 해준다. 함수 내에서 조건을 만족하면 재귀호출한다. 1. 전체 코드 import sys input = sys.stdin.readline n = int(input()) arr = [] p,m,z = 0,0,0 for i in range(n): arr.append(list(map(int,input().split()))) def.. 2023. 6. 5.
[파이썬] 백준 2630 : 색종이 만들기 (실버2) [파이썬] 백준 2630 : 색종이 만들기 (실버2) 2630번: 색종이 만들기 첫째 줄에는 전체 종이의 한 변의 길이 N이 주어져 있다. N은 2, 4, 8, 16, 32, 64, 128 중 하나이다. 색종이의 각 가로줄의 정사각형칸들의 색이 윗줄부터 차례로 둘째 줄부터 마지막 줄까지 주어진다. www.acmicpc.net 문제 풀이 0.방향성 생각 규칙 찾아주고 첫 번째 케이스만 하드코딩 한 후에 재귀호출해서 풀어주면 된다. 주어진 어레이를 가로 세로 2등분 총 4등분해서 기준점에서 재귀호출을 한다. 1. 전체 코드 import sys input = sys.stdin.readline n = int(input()) arr = [] w,b = 0,0 for i in range(n): arr.append(.. 2023. 6. 5.
[파이썬] 백준 1002 : 터렛 (실버3) [파이썬] 백준 1002 : 터렛 (실버3) 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acmicpc.net 문제 이 문제는 웰 노운이군요 ㅋㅋㅋㅋ 이전에 풀었던 두 원 문제에서 넓이 대신 교점을 구하는 문제 풀이 0. 방향성 생각 편하게 풀기 위해서 큰 원을 원점에, 다른 한 원을 x축 양수부분에 올려놓는다 t = int(input()) for i in range(t): x1,y1,r1,x2,y2,r2 = map(int,input().split()) if x1==x2 and y1==y2 : # 동심원인경우 if r1==r2 : if r1==0 and r2==0: # 반지름 0.. 2023. 5. 30.
[파이썬] 백준 3273 : 두 수의 합 (실버3) [파이썬] 백준 3273 : 두 수의 합 (실버3) 3273번: 두 수의 합 n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i < j ≤ n)을 만족하는 www.acmicpc.net 문제 풀이 0. 방향성 생각 두 수의 합을 찾는 문제. 목표 goal이 있을 때 goal 보다 작은 수 i가 주어지면 goal-i가 리스트에 있는지 찾아주면 된다. 리스트의 크기가 최대 10^6이므로 탐색 시간을 줄이기 위해 set을 쓴다. 1. 카운팅 n = int(input()) arr = list(map(int,input().split())) arr_.. 2023. 5. 27.