알고리즘
-
[알고리즘] 10828 파이썬TodayILearned/알고리즘 2021. 3. 18. 20:05
# 스택의 queue, pop 등의 기능을 잘 익히도록 도와주는 문제였다. # if, elif, else문으로 잘 분기해줘야 에러가 발생하지 않아서 디버깅의 도움을 많이 받았다. 코드 # 21.03.16 # 백준 10828 번 풀이 # if ~ in 을 command[0] == 해당값 으로 수정하면 좀 더 깔끔한 코드가 나올 것 import sys case = int(input()) stack = [] for i in range(case): command = list(sys.stdin.readline().split()) if "push" in command: stack.append(command[1]) elif "pop" in command: if stack: print(stack.pop()) else:..
-
[알고리즘] 백준 1260 파이썬TodayILearned/알고리즘 2021. 3. 18. 13:30
백준 1260 풀이(파이썬) 전체코드는 더보기를 눌러주세요. 더보기 n, m, v = map(int, input().split()) # 정점이 n개일 때, n*n크기의 이차원 배열을 생성한다. a = [[0 for _ in range(n+1)] for _ in range(n+1)] for i in range(m): x, y = map(int, input().split()) # x와y가 연결되어있음을 의미함. 방향은 무의미하므로 반대도 성립 a[x][y] = a[y][x] = 1 def dfs(start_node, visited_node): # 모든 노드를 돌아다니면서 한 노드 다 팔 때 까지 # stack에 시작노드를 입력하고 # visited node에 시작노드를 입력하면서 pop # visited하지..
-
[알고리즘] 백준 1011TodayILearned/알고리즘 2021. 3. 13. 10:11
백준 1011 파이썬 Distance (거리) Route(경로) Count(경로의 개수) Move Distance (경로의개수가 같은것의 합) Max Distance (주어진 경로의 개수에서 이동 최대값) 1 1 1 1 1 2 1 1 2 1 2 3 1 1 1 3 2 4 4 1 2 1 3 5 1 2 1 1 4 2 6 6 1 2 2 1 4 7 1 2 2 1 1 5 3 9 8 1 2 2 2 1 5 9 1 2 3 2 1 5 10 1 2 3 2 1 1 6 3 12 11 1 2 3 2 2 1 6 12 1 2 3 3 2 1 6 1. 규칙찾기 위 문제는 규칙찾는게 가장 어렵고, 그 다음이 코드구현이었다. 우선 거리 별 경로를 찾고, 경로의 개수를 센다. 이후 경로의 개수(count)가 같은것의 개수를 Move dist..