본문 바로가기
반응형

분류 전체보기17

#2630_색종이 만들기 #백준 #재귀함수 https://www.acmicpc.net/problem/2630 2630번: 색종이 만들기 첫째 줄에는 전체 종이의 한 변의 길이 N이 주어져 있다. N은 2, 4, 8, 16, 32, 64, 128 중 하나이다. 색종이의 각 가로줄의 정사각형칸들의 색이 윗줄부터 차례로 둘째 줄부터 마지막 줄까지 주어진다. www.acmicpc.net def divide_paper(x, y, size): global white, blue color = paper[y][x] for i in range(y, y + size): for j in range(x, x + size): if paper[i][j] != color: # 다른 색이 나오면 네 등분하여 재귀적으로 호출 divide_paper(x, y, size // 2.. 2024. 2. 28.
#2161_백준 카드 1 파이썬 https://www.acmicpc.net/problem/2161 2161번: 카드1 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net from collections import deque n = int(input()) q = deque(range(1,n+1)) data = [] while len(q) != 1: data.append(q.popleft()) q.append(q.popleft()) else: data.append(q.popleft()) print(*data) 자료구조 큐를 이용해서 간단하게 구현가능함! 2024. 2. 27.
8주차_백준 #1541_잃어버린 괄호 #1927_최소 힙 #11659_구간 합구하기 4 파이썬 #1541번 문제 첫번째 코드는 일어나자마자 푼 문제라 머리가 제대로 돌아가지 않아서 약간 좀 그렇게 매끄럽지 않은 코드이다. 하지만 두번째 코드는 좀 인터넷에 찾아보니까 단순하고 명확한 코드가있었다. 설명을 하자면 ()을 아무대나 할 수 있고, 이것을 통해 최소 값을 만드는 것이다. 즉, 예를 들어 50-13+32+24+5 이런 숫자가 있다면 괄호 없이 그냥 계산한다면 양수가 나올 것이다. 하지만 괄호를 사용한다면! 50-(13+32+24+5) 음수가 결과로 나온다. 즉 괄호로 인해 엄청 큰 마이너스 값을 만들 수 있다는 것이다. 일단 이것을 봤을 때 최소값을 구하는 알고리즘은 딱 떠오른다. 아! -라는기호가 나왔을 때 다음 +기호들은 전부 더하고 총 값을 마이너스로 하면 되겠구나 라는 생각 을 할 수.. 2024. 2. 27.
#재귀함수 DFS #1012 유기농 배추 import sys sys.setrecursionlimit(10000) input = sys.stdin.readline def dfs(x, y): # 주어진 좌표가 배추밭의 범위를 벗어나면 종료 if x = N or y = M: return False # 현재 좌표에 배추가 없으면 종료 if field[x][y] == 0: return False # 현재 좌표에 이미 방문한 경우 종료 if visited[x][y]: return False # 현재 좌표 방문 표시 visited[x][y] = True # 상하좌우 방향으로 DFS 호출 dfs(x - 1, y) dfs(x + 1, y) dfs(x, y - 1) dfs(x, y + 1) return True T = int(input()) # 테스트 케이스의 .. 2024. 2. 22.
반응형