문제풀이

https://www.acmicpc.net/problem/1719코드import sysinput = sys.stdin.readlineINF = int(1e9)n, m = map(int, input().split())graph = [[INF]*(n+1) for _ in range(n+1)]path_table = [["-"]*(n+1) for _ in range(n+1)]for i in range(1, n+1): graph[i][i] = 0for _ in range(m): a, b, t = map(int, input().split()) graph[a][b] = t graph[b][a] = t path_table[a][b] = b path_table[b][a] = afor k ..
·문제풀이/DP
https://www.acmicpc.net/problem/11057코드n = int(input())dp = [[0]*10 for _ in range(n+1)]# 초기화for i in range(10): dp[1][i] = 1# DPfor i in range(2, n+1): dp[i][0] = 1 for j in range(1, 10): dp[i][j] = dp[i-1][j]+dp[i][j-1]print(sum(dp[n]) % 10007) N자리 오르막 수의 개수는 DP를 이용하면 많은 시간을 들이지 않고도 구할 수 있다.N자리 오르막 수는 (N-1)자리 오르막 수에서 가장 오른쪽의 수와 같거나 그보다 큰 수를 오른쪽에 하나 붙이면 만들 수 있다. 예를 들어, 1234라는 4자..
https://www.acmicpc.net/problem/9996코드 (정규표현식)import ren = int(input())pattern = re.compile("^"+input().replace("*", "[a-z]*")+"$")for _ in range(n): string = input() if pattern.match(string): print("DA") else: print("NE") 입력된 패턴을 정규표현식으로 바꾸고, 이를 이용해서 매치되는 문자열은 "DA"(YES), 매치되지 않는 문자열은 "NE"(NO)를 출력한다. 예를 들어, `h*d`가 입력된다고 했을 때, 정규표현식으로 바꾸면 다음과 같다. `^h[a-z]*d$` - `^`: 패턴의 처음을..
https://www.acmicpc.net/problem/1248코드n = int(input())input_data = "_"+input()sign_sequence = [[None]*(n+1) for _ in range(n+1)]idx = 1for i in range(1, n+1): for j in range(i, n+1): sign_sequence[i][j] = input_data[idx] idx += 1def bt(idx, arr, acc): if idx == n+1: print(*arr[1:]) exit() for new_num in range(-10, 11): new_acc = acc[-1]+new_num ..
https://www.acmicpc.net/problem/17615 코드 (100점)import sysinput = sys.stdin.readlinen = int(input().strip())balls = input().strip()red_right = (balls.rstrip('R')).count('R')red_left = (balls.lstrip('R')).count('R')blue_right = (balls.rstrip('B')).count('B')blue_left = (balls.lstrip('B')).count('B')print(min([red_right, red_left, blue_left, blue_right])) 빨간색과 파란색이 각각 왼쪽으로 몰았을 때와 오른쪽으로 몰았을 때의 이동 횟수..
딜레이레이
'문제풀이' 카테고리의 글 목록 (7 Page)