목록전체 글 (145)
공부 기록장
https://www.acmicpc.net/problem/11404 11404번: 플로이드 첫째 줄에 도시의 개수 n이 주어지고 둘째 줄에는 버스의 개수 m이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스의 출발 도시의 번호가 www.acmicpc.net 코드 import sys input = sys.stdin.readline INF = int(1e9) # 노드 간선 개수 입력 받기 n = int(input()) m = int(input()) # 2차원 리스트로 그래프 표현 graph = [[INF] * (n+1) for _ in range(n+1)] for a in range(1, n+1): for b in range(1, n+1): if a =..
https://www.acmicpc.net/problem/13549 13549번: 숨바꼭질 3 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 www.acmicpc.net 코드 from collections import deque n, k = map(int, input().split()) q = deque() q.append(n) visited = [-1 for _ in range(100001)] visited[n] = 0 while q: s = q.popleft() if s == k: print(visited[s]) break..
https://www.acmicpc.net/problem/2812 2812번: 크게 만들기 N자리 숫자가 주어졌을 때, 여기서 숫자 K개를 지워서 얻을 수 있는 가장 큰 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 코드 n, k = map(int, input().split()) num = list(map(int, input())) st = [num[0]] for i in range(1, len(num)): while len(st) > 0 and k > 0: if st[-1] 0: print(''.join(map(str, st[:-k]))) else: print(''.join..
https://www.acmicpc.net/problem/2138 2138번: 전구와 스위치 N개의 스위치와 N개의 전구가 있다. 각각의 전구는 켜져 있는 상태와 꺼져 있는 상태 중 하나의 상태를 가진다. i(1 < i < N)번 스위치를 누르면 i-1, i, i+1의 세 개의 전구의 상태가 바뀐다. 즉, 꺼져 www.acmicpc.net 코드 n = int(input()) bulb = list(map(int, input())) target = list(map(int, input())) def change(A, B): A_copy = A[:] press = 0 for i in range(1, n): if A_copy[i-1] == B[i-1]: # 직전이 같은 경우, 현재 위치 버튼 누르지 않기 cont..