일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 수학
- 가상메모리 관리
- 백준
- level3
- DP
- 코딩테스트
- dfs
- MYSQL
- 재귀
- python
- 브루트포스
- level2
- programmers
- 스택
- level1
- 딕셔너리
- BFS
- level0
- BOJ
- 구현
- 다익스트라
- 프로그래머스
- 가상메모리
- 파이썬
- 운영체제
- N과M
- 에라스토테네스의 체
- 힙
- 다이나믹 프로그래밍
- 그리디
- Today
- Total
목록재귀 (5)
동캄의 코딩도장
https://www.acmicpc.net/problem/1074 1074번: Z 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. N > 1인 경우, 배열을 www.acmicpc.net # 백준 1074 Z N,r,c,=map(int,input().split()) answer=0 def search(r,c,N,tr,tc): # 왼쪽부터 현재 행, 현재 열, 승수, 목표 행, 목표 열 global answer if r==tr and c==tc: #현재 행,열이 목표 행,열이면 함수종료 return half_distance=2**(N-1) #정사각형의 한 변의 절반 길이 q..
https://www.acmicpc.net/problem/1780 1780번: 종이의 개수 N×N크기의 행렬로 표현되는 종이가 있다. 종이의 각 칸에는 -1, 0, 1 중 하나가 저장되어 있다. 우리는 이 행렬을 다음과 같은 규칙에 따라 적절한 크기로 자르려고 한다. 만약 종이가 모두 같은 수 www.acmicpc.net #백준 1780 종이의 개수 import sys input=sys.stdin.readline minusone=0 zero=0 one=0 def all_same(p): global minusone #-1로 이루어진 종이의 개수를 담을 전역변수 생성 global zero #0으로 이루어진 종이의 개수를 담을 전역변수 생성 global one #1로 이루어진 종이의 개수를 담을 전역변수 생성..
https://www.acmicpc.net/problem/2630 2630번: 색종이 만들기 첫째 줄에는 전체 종이의 한 변의 길이 N이 주어져 있다. N은 2, 4, 8, 16, 32, 64, 128 중 하나이다. 색종이의 각 가로줄의 정사각형칸들의 색이 윗줄부터 차례로 둘째 줄부터 마지막 줄까지 주어진다. www.acmicpc.net #백준 2630 색종이 만들기 import sys input=sys.stdin.readline white=0 blue=0 def all_same(p): global blue #파란색 종이의 개수를 담을 전역변수 생성 global white #하얀색 종이의 개수를 담을 전역변수 생성 len_p=len(p) s=0 for i in range(len_p): s+=sum(p[i..
https://www.acmicpc.net/problem/2504 2504번: 괄호의 값 4개의 기호 ‘(’, ‘)’, ‘[’, ‘]’를 이용해서 만들어지는 괄호열 중에서 올바른 괄호열이란 다음과 같이 정의된다. 한 쌍의 괄호로만 이루어진 ‘()’와 ‘[]’는 올바른 괄호열이다. 만일 www.acmicpc.net # 백준 2504 괄호의 값 import sys input = sys.stdin.readline lst = list(map(str, input().rstrip())) stack = [] ans = 0 temp = 1 for i in range(len(lst)): if lst[i] == '(': stack.append(lst[i]) temp *= 2 elif lst[i] == '[': stack...
# 프로그래머스 하노이의 탑 def hanoi(start, mid, end, pillar): if start: if start[1:]: return hanoi(start[1:], mid, end, [pillar[0], pillar[2], pillar[1]])+[[pillar[0], pillar[2]]]+hanoi(start[1:], mid, end, [pillar[1], pillar[0], pillar[2]]) else: return [[pillar[0], pillar[2]]] def solution(n): answer = [] start = [i for i in range(n, 0, -1)] mid = [] end = [] answer = hanoi(start, mid, end, [1, 2, 3]) r..