파이썬 404

[baekjoon] 백준 1303번(파이썬): 전쟁 - 전투

문제 1303번: 전쟁 - 전투 첫째 줄에는 전쟁터의 가로 크기 N, 세로 크기 M(1 ≤ N, M ≤ 100)이 주어진다. 그 다음 두 번째 줄에서 M+1번째 줄에는 각각 (X, Y)에 있는 병사들의 옷색이 띄어쓰기 없이 주어진다. 모든 자리에는 www.acmicpc.net - 전쟁은 어느덧 전면전이 시작되었다. - 결국 전투는 난전이 되었고, 우리 병사와 적국 병사가 섞여 싸우게 되었다. - 그러나 당신의 병사들은 하얀 옷을 입고, 적국의 병사들은 파란옷을 입었기 때문에 서로가 적인지 아군인지는 구분할 수 있다. - 문제는, 같은 팀의 병사들은 모이면 모일수록 강해진다는 사실이다. - N명이 뭉쳐있을 때는 N^2의 위력을 낼 수 있다. - 과연 지금 난전의 상황에서는 누가 승리할 것인가? - 단, 같..

CodingTest/Baekjoon 2021.08.04

[baekjoon] 백준 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 - 어떤 나라에는 1번부터 N번까지의 도시와 M개의 단방향 도로가 존재한다. 모든 도로의 거리는 1이다. - 이 때 특정한 도시 X로부터 출발하여 도달할 수 있는 모든 도시 중에서, 최단 거리가 정확히 K인 모든 도시들의 번호를 출력하는 문제이다. - 또한 출발 도시 X에서 출발 도시 X로 가는 최단 거리는 항상 0이라고 가정한다. - 예를 들어 N=4, K=2, X=1일 때 다음과 같..

CodingTest/Baekjoon 2021.08.03

[baekjoon] 백준 13565번(파이썬): 침투

문제 13565번: 침투 첫째 줄에는 격자의 크기를 나타내는 M (2 ≤ M ≤ 1,000) 과 N (2 ≤ N ≤ 1,000) 이 주어진다. M줄에 걸쳐서, N개의 0 또는 1 이 공백 없이 주어진다. 0은 전류가 잘 통하는 흰색, 1은 전류가 통하지 않 www.acmicpc.net - 인제대학교 생화학연구실에 재직중인 석교수는 전류가 침투(percolate) 할 수 있는 섬유 물질을 개발하고 있다. - 이 섬유 물질은 2차원 M × N 격자로 표현될 수 있다. - 편의상 2차원 격자의 위쪽을 바깥쪽(outer side), 아래쪽을 안쪽(inner side)라고 생각하기로 한다. - 또한 각 격자는 검은색 아니면 흰색인데, 검은색은 전류를 차단하는 물질임을 뜻하고 흰색은 전류가 통할 수 있는 물질임을 ..

CodingTest/Baekjoon 2021.08.02

[baekjoon] 백준 12761번(파이썬): 돌다리

문제 12761번: 돌다리 동규와 주미는 일직선 상의 돌 다리 위에있다. 돌의 번호는 0 부터 100,000 까지 존재하고 동규는 \(N\)번 돌 위에, 주미는 \(M\)번 돌 위에 위치하고 있다. 동규는 주미가 너무 보고싶기 때문에 최대 www.acmicpc.net - 동규와 주미는 일직선 상의 돌 다리 위에있다. - 돌의 번호는 0 부터 100,000 까지 존재하고 동규는 N번 돌 위에, 주미는 M번 돌 위에 위치하고 있다. - 동규는 주미가 너무 보고싶기 때문에 최대한 빨리 주미에게 가기 위해 A,B 만큼의 힘을 가진 스카이 콩콩을 가져왔다. - 동규가 정한 다리를 건너는 규칙은 턴 방식인데, 한 턴에 이동할 수 있는 거리는 이러하다. - 현 위치에서 +1칸, -1칸을 이동할 수 있고, 스카이 콩콩..

CodingTest/Baekjoon 2021.08.01

[baekjoon] 백준 11725번(파이썬): 트리의 부모 찾기

문제 11725번: 트리의 부모 찾기 루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오. www.acmicpc.net - 루트 없는 트리가 주어진다. - 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 문제이다. - 노드의 개수 N (2 ≤ N ≤ 100,000)이 주어진다. - N-1개의 줄에 트리 상에서 연결된 두 정점이 주어진다. - 각 노드의 부모 노드 번호를 2번 노드부터 순서대로 출력한다. 알고리즘 - bfs 탐색을 통해 문제를 수행한다. - 1번 노드부터 연결된 노드를 탐색한다. - 연결된 노드 중에 탐색하지 않은 노드를 추가하고 연결된 부모 노드를 추가한다. 코드 import sys from collec..

CodingTest/Baekjoon 2021.07.31

[baekjoon] 백준 2644번(파이썬): 촌수계산

문제 2644번: 촌수계산 사람들은 1, 2, 3, …, n (1 ≤ n ≤ 100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야 하는 서로 다른 두 사람의 번호가 주어 www.acmicpc.net - 우리 나라는 가족 혹은 친척들 사이의 관계를 촌수라는 단위로 표현하는 독특한 문화를 가지고 있다. - 이러한 촌수는 다음과 같은 방식으로 계산된다. - 기본적으로 부모와 자식 사이를 1촌으로 정의하고 이로부터 사람들 간의 촌수를 계산한다. - 예를 들면 나와 아버지, 아버지와 할아버지는 각각 1촌으로 나와 할아버지는 2촌이 되고, 아버지 형제들과 할아버지는 1촌, 나와 아버지 형제들과는 3촌이 된다. - 여러 사람들에 대한 부모 자식..

CodingTest/Baekjoon 2021.07.30

[baekjoon] 백준 2210번(파이썬): 숫자판 점프

문제 2210번: 숫자판 점프 111111, 111112, 111121, 111211, 111212, 112111, 112121, 121111, 121112, 121211, 121212, 211111, 211121, 212111, 212121 이 가능한 경우들이다. www.acmicpc.net - 5×5 크기의 숫자판이 있다. - 각각의 칸에는 숫자(digit, 0부터 9까지)가 적혀 있다. - 이 숫자판의 임의의 위치에서 시작해서, 인접해 있는 네 방향으로 다섯 번 이동하면서, 각 칸에 적혀있는 숫자를 차례로 붙이면 6자리의 수가 된다. - 이동을 할 때에는 한 번 거쳤던 칸을 다시 거쳐도 되며, 0으로 시작하는 000123과 같은 수로 만들 수 있다. - 숫자판이 주어졌을 때, 만들 수 있는 서로 다..

CodingTest/Baekjoon 2021.07.29

[baekjoon] 백준 16956번(파이썬): 늑대와 양

문제 16956번: 늑대와 양 크기가 R×C인 목장이 있고, 목장은 1×1 크기의 칸으로 나누어져 있다. 각각의 칸에는 비어있거나, 양 또는 늑대가 있다. 양은 이동하지 않고 위치를 지키고 있고, 늑대는 인접한 칸을 자유롭게 www.acmicpc.net - 크기가 R×C인 목장이 있고, 목장은 1×1 크기의 칸으로 나누어져 있다. - 각각의 칸에는 비어있거나, 양 또는 늑대가 있다. - 양은 이동하지 않고 위치를 지키고 있고, 늑대는 인접한 칸을 자유롭게 이동할 수 있다. - 두 칸이 인접하다는 것은 두 칸이 변을 공유하는 경우이다. - 목장에 울타리를 설치해 늑대가 양이 있는 칸으로 갈 수 없게 하려고 한다. - 늑대는 울타리가 있는 칸으로는 이동할 수 없다. 울타리를 설치해보자. - 첫째 줄에 목장의..

CodingTest/Baekjoon 2021.07.27

[baekjoon] 백준 9372번(파이썬): 상근이의 여행

문제 9372번: 상근이의 여행 첫 번째 줄에는 테스트 케이스의 수 T(T ≤ 100)가 주어지고, 각 테스트 케이스마다 다음과 같은 정보가 주어진다. 첫 번째 줄에는 국가의 수 N(2 ≤ N ≤ 1 000)과 비행기의 종류 M(1 ≤ M ≤ 10 000) 가 www.acmicpc.net - 상근이는 겨울방학을 맞아 N개국을 여행하면서 자아를 찾기로 마음먹었다. - 하지만 상근이는 새로운 비행기를 무서워하기 때문에, 최대한 적은 종류의 비행기를 타고 국가들을 이동하려고 한다. - 이번 방학 동안의 비행 스케줄이 주어졌을 때, 상근이가 가장 적은 종류의 비행기를 타고 모든 국가들을 여행할 수 있도록 도와주자. - 상근이가 한 국가에서 다른 국가로 이동할 때 다른 국가를 거쳐 가도(심지어 이미 방문한 국가라..

CodingTest/Baekjoon 2021.07.26