https://www.acmicpc.net/problem/5569 코드w, h = map(int, input().split())dp = [[[0]*4 for _ in range(h)] for _ in range(w)]# 값 초기화for i in range(1, w): dp[i][0][1] = 1for j in range(1, h): dp[0][j][3] = 1for i in range(1, w): for j in range(1, h): dp[i][j][0] = dp[i-1][j][3] # 계속 오른쪽으로 가다가 이번에 위로 온 경우 dp[i][j][1] = (dp[i-1][j][0]+dp[i-1][j][1]) % 100000 # 계속 위로 dp..
전체 글
https://www.acmicpc.net/problem/6236 코드n, m = map(int, input().split())money = [int(input()) for _ in range(n)]def chk(k): # m번 이하로 인출할 수 있는지 if k 매개 변수 탐색(Parametric Search)조건을 만족하는지 안하는지 여부로 범위를 좁혀나가는 알고리즘이다. 이 문제에서의 조건은 한 번에 인출하는 금액은 k로 제한하고 n일 동안 m번만 인출하여 생활이 가능한지 여부이다. 이 때 정확히 m번을 맞추기 위해 필요 없을 때도 인출할 수 있으므로 m번 이하로 인출 가능한지 여부만 판단하면 된다.
객체 지향 프로그래밍(OOP, Object-Oriented Programming)객체 지향 프로그래밍이란 컴퓨터 프로그램을 여러 독립적인 객체들의 유기적인 협력과 결합으로 파악하고자 하는 컴퓨터 프로그래밍의 패러다임. 객체 지향 프로그래밍의 장점프로그램을 보다 유연하고 변경이 용이하게 만들 수 있음.코드의 변경을 최소화하고 유지보수를 하는 데 유리함.코드의 재사용을 통해 반복적인 코드를 최소화하고, 코드를 최대한 간결하게 표현할 수 있음.인간 친화적이고 직관적인 코드를 작성하기에 용이.객체 지향 프로그래밍의 4가지 특징추상화, 캡슐화, 상속, 다형성 객체객체는 객체 지향 프로그래밍의 가장 기본적인 단위이자 시작점이다.객체 지향 개념의 가장 기본적인 전제는 실제 세계는 객체들로 구성되어 있으며, 보여지는 ..
https://www.acmicpc.net/problem/2661 코드n = int(input())def chk(seq): l = len(seq) for i in range(2, len(seq)//2+1): if seq[l-i:] == seq[l-i*2:l-i]: return False return Truedef bt(seq): if len(seq) == n: print(seq) exit() for i in range(1, 4): if seq != '' and str(i) == seq[-1]: # 1글자 부분 수열 확인 continue if chk(seq+str(i)): #..
https://www.acmicpc.net/problem/15990 코드dp = [[0]*3 for _ in range(100001)] # 1열은 이번에 1 더했을 때, 2열은 2, 3열은 3 더했을 때dp[1][0] = 1dp[2][1] = 1dp[3] = [1, 1, 1]for i in range(4, 100001): dp[i][0] = (dp[i-1][1]+dp[i-1][2]) % 1_000_000_009 dp[i][1] = (dp[i-2][0]+dp[i-2][2]) % 1_000_000_009 dp[i][2] = (dp[i-3][0]+dp[i-3][1]) % 1_000_000_009for _ in range(int(input())): n = int(input()) pr..
https://www.acmicpc.net/problem/2589 코드from collections import dequeimport sysinput = sys.stdin.readliner, c = map(int, input().split())board = [input() for _ in range(r)]def bfs(x, y): # (x, y)에서 이동할 수 있는 육지 중 가장 먼 곳까지의 이동 시간 dx = [-1, 1, 0, 0] dy = [0, 0, -1, 1] max_dist = 0 visited = [[False]*c for _ in range(r)] visited[x][y] = True q = deque([(x, y, 0)]) while q: ..