Python/백준 알고리즘 5

백준 _ BFS ( Python / 파이썬)

DFS와 BFS 문제 그래프를 DFS로 탐색한 결과와 BFS로 탐색한 결과를 출력하는 프로그램을 작성하시오. 단, 방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문하고, 더 이상 방문할 수 있는 점이 없는 경우 종료한다. 정점 번호는 1번부터 N번까지이다. 제한 조건 시간 제한 : 2초 메모리 제한 : 128MB 입력 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사이에 여러 개의 간선이 있을 수 있다. 입력으로 주어지는 간선은 양방향이다. 출력 첫째 줄에 DFS를 수행한 결과를, 그 다음 줄에는 BFS..

단계별로 풀어보기 _ 1차원 배열 (Python/파이썬)

문제번호 10818 : 최소, 최대 문제 N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. 출력 첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다. 제한 시간제한 : 1초 메모리 제한 : 256MB 예제 입력1 5 20 10 35 30 7 예제 출력1 7 35 N = int(input()) data = list(map(int, input().split())) print(min(data), max(data)) 문제 풀어보기 :..

단계별로 풀어보기 _ while 문 (Python/파이썬)

문제번호 10952 : A+B - 5 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 입력의 마지막에는 0 두 개가 들어온다. 출력 각 테스트 케이스마다 A+B를 출력한다. 제한 시간제한 : 1초 메모리 제한 : 256MB 예제 입력1 1 1 2 3 3 4 9 8 5 2 0 0 예제 출력1 2 5 7 17 7 while True: a, b = map(int, input().split()) if a == b == 0: break print(a + b) 문제 풀어보기 : https://www.acmicpc.net/p..

단계별로 풀어보기 _ for 문 (Python/파이썬)

문제번호 2739 : 구구단 문제 N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다. 입력 첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 9보다 작거나 같다. 출력 출력형식과 같게 N*1부터 N*9까지 출력한다. 제한 시간제한 : 1초 메모리 제한 : 128MB 예제 입력1 2 예제 출력1 2 * 1 = 2 2 * 2 = 4 2 * 3 = 6 2 * 4 = 8 2 * 5 = 10 2 * 6 = 12 2 * 7 = 14 2 * 8 = 16 2 * 9 = 18​ N = int(input()) for i in range(1,10): print(N,'*',i,'=',N*i) 문제 풀어보기 : https://www.acmicpc.net/problem/273..

단계별로 풀어보기_if 문 (Python/파이썬)

문제번호 1330 : 두 수 비교하기 문제 두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. A와 B는 공백 한 칸으로 구분되어져 있다. 출력 첫째 줄에 다음 세 가지 중 하나를 출력한다. * A가 B보다 큰 경우에는 '>'를 출력한다. * A가 B보다 작은 경우에는 '') elif A < B: print('