파이썬 404

[baekjoon] 백준 16173번(파이썬): 쩰리 (Small)

문제 16173번: 점프왕 쩰리 (Small) 쩰리는 맨 왼쪽 위의 칸에서 출발해 (행, 열)로 나타낸 좌표계로, (1, 1) -> (2, 1) -> (3, 1) -> (3, 3)으로 이동해 게임에서 승리할 수 있다. www.acmicpc.net - ‘쩰리’는 점프하는 것을 좋아하는 젤리다. - 단순히 점프하는 것에 지루함을 느낀 ‘쩰리’는 새로운 점프 게임을 해보고 싶어 한다. - 새로운 점프 게임의 조건은 다음과 같다. ‘쩰리’는 가로와 세로의 칸 수가 같은 정사각형의 구역 내부에서만 움직일 수 있다. ‘쩰리’가 정사각형 구역의 외부로 나가는 경우엔 바닥으로 떨어져 즉시 게임에서 패배하게 된다. ‘쩰리’의 출발점은 항상 정사각형의 가장 왼쪽, 가장 위의 칸이다. 다른 출발점에서는 출발하지 않는다. ‘..

CodingTest/Baekjoon 2021.07.24

[baekjoon] 백준 1388번(파이썬): 바닥 장식

문제 1388번: 바닥 장식 형택이는 건축가이다. 지금 막 형택이는 형택이의 남자 친구 기훈이의 집을 막 완성시켰다. 형택이는 기훈이 방의 바닥 장식을 디자인했고, 이제 몇 개의 나무 판자가 필요한지 궁금해졌다. 나 www.acmicpc.net - 형택이는 건축가이다. - 지금 막 형택이는 형택이의 남자 친구 기훈이의 집을 막 완성시켰다. - 형택이는 기훈이 방의 바닥 장식을 디자인했고, 이제 몇 개의 나무 판자가 필요한지 궁금해졌다. - 나무 판자는 크기 1의 너비를 가졌고, 양수의 길이를 가지고 있다. - 기훈이 방은 직사각형 모양이고, 방 안에는 벽과 평행한 모양의 정사각형으로 나누어져 있다. - 이제 ‘-’와 ‘|’로 이루어진 바닥 장식 모양이 주어진다. - 만약 두 개의 ‘-’가 인접해 있고, ..

CodingTest/Baekjoon 2021.07.23

[baekjoon] 백준 11403번(파이썬): 경로 찾기

문제 11403번: 경로 찾기 가중치 없는 방향 그래프 G가 주어졌을 때, 모든 정점 (i, j)에 대해서, i에서 j로 가는 경로가 있는지 없는지 구하는 프로그램을 작성하시오. www.acmicpc.net - 가중치 없는 방향 그래프 G가 주어졌을 때, 모든 정점 (i, j)에 대해서, i에서 j로 가는 경로가 있는지 없는지 구하는 문제이다. - 점의 개수 N (1 ≤ N ≤ 100)이 주어진다. - N개 줄에는 그래프의 인접 행렬이 주어진다. - i번째 줄의 j번째 숫자가 1인 경우에는 i에서 j로 가는 간선이 존재한다는 뜻이고, 0인 경우는 없다는 뜻이다. - i번째 줄의 i번째 숫자는 항상 0이다. - 총 N개의 줄에 걸쳐서 문제의 정답을 인접행렬 형식으로 출력한다. - 정점 i에서 j로 가는 경..

CodingTest/Baekjoon 2021.07.22

[baekjoon] 백준 4963번(파이썬): 섬의 개수

문제 4963번: 섬의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다. 둘째 줄부터 h개 줄에는 지도 www.acmicpc.net - 정사각형으로 이루어져 있는 섬과 바다 지도가 주어진다. 섬의 개수를 세는 프로그램을 작성하시오. - 한 정사각형과 가로, 세로 또는 대각선으로 연결되어 있는 사각형은 걸어갈 수 있는 사각형이다. - 두 정사각형이 같은 섬에 있으려면, 한 정사각형에서 다른 정사각형으로 걸어서 갈 수 있는 경로가 있어야 한다. - 지도는 바다로 둘러싸여 있으며, 지도 밖으로 나갈 수 없다. - 입력은 여러 개의 테스트 케이스로 이루어져 있다. - 각 테스트 케이스의 ..

CodingTest/Baekjoon 2021.07.21

[baekjoon] 백준 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 - 방향 없는 그래프가 주어졌을 때, 연결 요소 (Connected Component)의 개수를 구하는 문제이다. -정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) - M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주어진다. - 연결 요소의 개수를 출력하라. 알고리즘 - d..

CodingTest/Baekjoon 2021.07.20

[baekjoon] 백준 1697번(파이썬): 숨바꼭질

문제 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net - 수빈이는 동생과 숨바꼭질을 하고 있다. - 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. - 수빈이는 걷거나 순간이동을 할 수 있다. - 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. - 순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동하게 된다. - 수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 ..

CodingTest/Baekjoon 2021.07.19

[baekjoon] 백준 1012번(파이썬): 유기농 배추

문제 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net - 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. - 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 효과적인 배추흰지렁이를 구입하기로 결심한다. - 이 지렁이는 배추근처에 서식하며 해충을 잡아 먹음으로써 배추를 보호한다. - 특히, 어떤 배추에 배추흰지렁이가 한 마리라도 살고 있으면 이 지렁이는 인접한 다른 배추로 이동할 수 있어, 그 배추들 역시 해충으로부터 보호받을 수 있다. -..

CodingTest/Baekjoon 2021.07.17

[baekjoon] 백준 7576번(파이썬): 토마토

문제 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net - 철수의 토마토 농장에서는 토마토를 보관하는 큰 창고를 가지고 있다. - 토마토는 아래의 그림과 같이 격자 모양 상자의 칸에 하나씩 넣어서 창고에 보관한다. - 창고에 보관되는 토마토들 중에는 잘 익은 것도 있지만, 아직 익지 않은 토마토들도 있을 수 있다. - 보관 후 하루가 지나면, 익은 토마토들의 인접한 곳에 있는 익지 않은 토마토들은 익은 토마토의 영향을 받아 익게 된다. - 하나의 토마토의 인접한 곳은 왼쪽, 오른쪽, 앞, 뒤 네..

CodingTest/Baekjoon 2021.07.16

[baekjoon] 백준 2606번(파이썬): 바이러스

문제 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net - 신종 바이러스인 웜 바이러스는 네트워크를 통해 전파된다. - 한 컴퓨터가 웜 바이러스에 걸리면 그 컴퓨터와 네트워크 상에서 연결되어 있는 모든 컴퓨터는 웜 바이러스에 걸리게 된다. - 예를 들어 7대의 컴퓨터가 과 같이 네트워크 상에서 연결되어 있다고 하자. 1번 컴퓨터가 웜 바이러스에 걸리면 웜 바이러스는 2번과 5번 컴퓨터를 거쳐 3번과 6번 컴퓨터까지 전파되어 2, 3, 5, 6 네 대의 컴퓨터는 웜 바이러스에 걸리게 된다. 하지만 4번과 7번 컴퓨터는..

CodingTest/Baekjoon 2021.07.15

[baekjoon] 백준 2667번(파이썬): 단지번호붙이기

문제 - 과 같이 정사각형 모양의 지도가 있다. - 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. - 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. - 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다른 집이 있는 경우를 말한다. - 대각선상에 집이 있는 경우는 연결된 것이 아니다. - 는 을 단지별로 번호를 붙인 것이다. - 지도를 입력하여 단지수를 출력하고, 각 단지에 속하는 집의 수를 오름차순으로 정렬하여 출력하는 문제이다. - 지도의 크기 N(정사각형이므로 가로와 세로의 크기는 같으며 5≤N≤25)이 입력된다. - 그 다음 N줄에는 각각 N개의 자료(0혹은 1)가 입력된다. 알고리즘 - dfs를 통해 연결된 노드를 재귀적으로 모두 확..

CodingTest/Baekjoon 2021.07.14