본문 바로가기

PS28

[백준] 1992번: 쿼드트리 파이썬 https://www.acmicpc.net/problem/1992 1992번: 쿼드트리 첫째 줄에는 영상의 크기를 나타내는 숫자 N 이 주어진다. N 은 언제나 2의 제곱수로 주어지며, 1 ≤ N ≤ 64의 범위를 가진다. 두 번째 줄부터는 길이 N의 문자열이 N개 들어온다. 각 문자열은 0 또 www.acmicpc.net 또 저번에 푼 2630번과 유사한 문제입니다! 2630번에서는 4등분하면서 나눠진 색종이의 개수를 세는 문제였는데 이번엔 4등분하면서 바로바로 출력하면 됩니다! 이 문제에서 제일 헷갈린 부분이 어느 시점에서 괄호를 출력하느냐 였는데요.. 조금만 생각 하면 간단해요! 풀이 2630번 문제처럼 배열을 검사하면서 동일하지않은 색상이나오면 재귀를 이용해서 4등분합니다! 재귀를 시작할때 괄호를.. 2024. 2. 28.
[백준] 1780번: 종이의 개수 파이썬 https://www.acmicpc.net/problem/1780 1780번: 종이의 개수 N×N크기의 행렬로 표현되는 종이가 있다. 종이의 각 칸에는 -1, 0, 1 중 하나가 저장되어 있다. 우리는 이 행렬을 다음과 같은 규칙에 따라 적절한 크기로 자르려고 한다. 만약 종이가 모두 같은 수 www.acmicpc.net 이 문제는 저번에 푼 2630번 색종이 문제와 매우 유사합니다! 종이를 4등분 > 9등분 색이 2개 > 3개 그래서 전에 쓴 코드를 아주 살짝 수정했습니다! def paper(a, b, n): global mone, zero, one color = field[a][b] for i in range(a, a+n): for j in range(b, b+n): if color != field[.. 2024. 2. 28.
[백준] 2630번: 색종이 만들기 파이썬 https://www.acmicpc.net/problem/2630 2630번: 색종이 만들기 첫째 줄에는 전체 종이의 한 변의 길이 N이 주어져 있다. N은 2, 4, 8, 16, 32, 64, 128 중 하나이다. 색종이의 각 가로줄의 정사각형칸들의 색이 윗줄부터 차례로 둘째 줄부터 마지막 줄까지 주어진다. www.acmicpc.net 풀이 분할정복, 재귀를 이용해서 푸는 문제입니다! 2차원 배열을 순서대로 검사하면서 첫번째 블럭과 색이 다르면 바로 4등분! 해서 다시 검사 4등분 하는 게 좀 어려웠는데 전달 인자로 검사 시작 하는 부분 좌표랑 크기를 넣어서 해결했습니다! 배열 내의 색이 모두 같거나, 배열의 크기가 1이 되면 색상별로 개수를 더해줬어요~ def paper(a, b, n): global.. 2024. 2. 27.
코딩테스트 파이썬 입출력 문법 정리 맨날 치이카와처럼 까먹는 입력 문법.. 더 이상 까먹지않겠다. . 답답해서 정리한다.. -입력 문법 1. 한 줄 읽어서 int로 변환 #입력 예시 10 a = int(input()) 2. int형으로 여러 개 입력 받기 #입력 예시 1 2 a, b = map(int, input().split()) 3. 1차원배열 입력 받기 #입력 예시 1 2 3 4 5 list = list(map(int, input().split())) 4. 앞 뒤 입력 값 따로 입력 받기 #입력 예시 1 2 3 4 5 #출력 예시 1 [2, 3, 4] 5 first, *middle, last = map(int, input().split()) 5. 단일 변수 -> 튜플로 변환 #출력 예시 (1, 2) a = 1 b = 2 result .. 2024. 2. 27.