전체 글
[BOJ / 백준] 16953번 A → B 파이썬(Python) 문제 풀이
문제 문제 링크 : https://www.acmicpc.net/problem/16953 16953번: A → B 첫째 줄에 A, B (1 ≤ A < B ≤ 109)가 주어진다. www.acmicpc.net CODE import sys from collections import deque input = sys.stdin.readline def solve(a, b): q = deque([(a, 1)]) while q: now, cnt = q.popleft() if now == b: print(cnt) return if now * 2
[BOJ / 백준] 1743번 음식물 피하기파이썬(Python) 문제 풀이
문제 문제 링크 : https://www.acmicpc.net/problem/1743 1743번: 음식물 피하기 첫째 줄에 통로의 세로 길이 N(1 ≤ N ≤ 100)과 가로 길이 M(1 ≤ M ≤ 100) 그리고 음식물 쓰레기의 개수 K(1 ≤ K ≤ N×M)이 주어진다. 그리고 다음 K개의 줄에 음식물이 떨어진 좌표 (r, c)가 주어진다 www.acmicpc.net CODE import sys from collections import deque input = sys.stdin.readline dx = [0, 0, -1, 1] dy = [-1, 1, 0, 0] def bfs(i, j, trash): q = deque([[i, j]]) trash[i][j] = 2 # visited result = 1..
[BOJ / 백준] 6603번 로또 파이썬(Python) 문제 풀이
문제 문제 링크 : https://www.acmicpc.net/problem/6603 6603번: 로또 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있다. 첫 번째 수는 k (6 < k < 13)이고, 다음 k개 수는 집합 S에 포함되는 수이다. S의 원소는 오름차순으로 www.acmicpc.net CODE 방법 1 : itertools의 combinations 사용 import sys from itertools import combinations input = sys.stdin.readline while True: nums = list(map(int, input().split())) if len(nums) == 1 and nums[0] == 0: break l..
[BOJ / 백준] 11724번 연결 요소의 개수 파이썬(Python) 문제 풀이
문제 문제 링크 : https://www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주 www.acmicpc.net CODE from collections import deque import sys input = sys.stdin.readline def bfs(v, edges, visited): q = deque([v]) visited[v] = True while q: now = q.popleft() for e in edges[n..
[BOJ / 백준] 2606번 바이러스 파이썬(Python) 문제 풀이
문제 문제 링크 : https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net CODE from collections import deque import sys input = sys.stdin.readline v = int(input()) e = int(input()) edges = [[] for _ in range(v + 1)] for _ in range(e): a, b = map(int, input().split()) edges[a].append(b) ed..
[BOJ / 백준] 1697번 숨바꼭질 파이썬(Python) 문제 풀이
문제 문제 링크 : https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net CODE from collections import deque def solve(n, k): time = [0] * (200001) q = deque([n]) time[n] = 0 while q: now = q.popleft() if now == k: print(time[k]) return if abs(k - now) > abs(k - 2 * now)..
[BOJ / 백준] 2178번 미로 탐색 파이썬(Python) 문제 풀이
문제 문제 링크 : https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net CODE from collections import deque import sys input = sys.stdin.readline n, m = map(int, input().split()) miro = [] for i in range(n): miro.append(list(input().rstrip())) visited = [[0] * m for _ in range(n)] dir = [[1, 0], [-1, 0..
[BOJ / 백준] 1303번 전쟁 - 전투 파이썬 (Python) 문제 풀이
문제 문제 링크 : https://www.acmicpc.net/problem/1303 1303번: 전쟁 - 전투 첫째 줄에는 전쟁터의 가로 크기 N, 세로 크기 M(1 ≤ N, M ≤ 100)이 주어진다. 그 다음 두 번째 줄에서 M+1번째 줄에는 각각 (X, Y)에 있는 병사들의 옷색이 띄어쓰기 없이 주어진다. 모든 자리에는 www.acmicpc.net CODE from collections import deque import sys input = sys.stdin.readline dir = [[0, -1], [0, 1], [1, 0], [-1, 0]] def solve(x, y, ground, check): q = deque([[x, y]]) check[y][x] = True cnt = 0 while..
[BOJ / 백준] 1260번 DFS와 BFS 파이썬(Python) 문제 풀이
문제 문제 링크 : https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net CODE from collections import deque import sys input = sys.stdin.readline def dfs(edges, v, visited): visited[v] = True print(v, end=' ') for e in edges[v]: if not visited[e]: dfs(edges, e, vi..
[Github] IntelliJ에서 Github 사용하기 (인텔리제이에서 깃허브 사용하기)
프로젝트와 깃허브를 연동할 겁니다 Github 계정이 없다면 가입이 먼저 필요합니다 계정이 있다고 생각하고 진행합니다 🏃♀️🏃♂️ 1. Action 검색창 열어 share project on github을 검색한다 Action 검색창을 여는 단축키는 윈도우에서 [Ctrl + Shift + A] , 맥에서 [Command + Shift + A] share project on github를 검색해서 클릭! 2. Github 로그인하고 깃허브 프로젝트 생성 Add account에서 Log In via Github로 들어가면 깃허브 로그인 화면이 나옵니다 본인 깃허브 계정으로 로그인을 합니다 Repository name을 설정하고 Share 클릭 대부분은 프로젝트 이름과 깃허브 저장소에 같은 이름을 사용한다..