백준 1920번 수 찾기
https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 문제 N개의 정수 A[1], A[2], …, A[N]이 주어져 있을 때, 이 안에 X라는 정수가 존재하는지 알아내는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에..
2022. 6. 19.
백준 18352번 특정 거리의 도시 찾기
18352번: 특정 거리의 도시 찾기 첫째 줄에 도시의 개수 N, 도로의 개수 M, 거리 정보 K, 출발 도시의 번호 X가 주어진다. (2 ≤ N ≤ 300,000, 1 ≤ M ≤ 1,000,000, 1 ≤ K ≤ 300,000, 1 ≤ X ≤ N) 둘째 줄부터 M개의 줄에 걸쳐서 두 개 www.acmicpc.net BFS 개념을 활용하면 풀 수 있는 흔한 문제이다. from collections import deque import sys n, m, k, x = map(int, input().split()) graph = [[] for _ in range(n+1)] for _ in range(m): start, end = map(int, sys.stdin.readline().split()) graph[s..
2022. 6. 19.
백준 2178번 미로 찾기
2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net DFS의 대표격 문제임에도 불구하고 풀 때마다 구현에 오래 걸리는 경우가 많아서 확실히 정리하기 위해 코드와 개념을 다시 적어야겠다 생각해서 적어보았다. 전체 코드 from collections import deque n, m = map(int, input().split()) mat=[] for i in range(n): mat.append(list(map(int, input()))) x_move = [1, -1, 0, 0] y_move = [0, 0, 1, -1] def maze(x, y):..
2022. 6. 19.