백준 알고리즘 87

백준 2667번 단지번호 붙이기 문제풀이, 파이썬

백준 2667번 : 단지번호 붙이기 문제풀이 [파이썬] 2667번 문제의 내용은 아래와 같습니다. 단지번호붙이기 성공 문제 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다른 집이 있는 경우를 말한다. 대각선상에 집이 있는 경우는 연결된 것이 아니다. 는 을 단지별로 번호를 붙인 것이다. 지도를 입력하여 단지수를 출력하고, 각 단지에 속하는 집의 수를 오름차순으로 정렬하여 출력하는 프로그램을 작성하시오. 입력 첫 번째 줄에는 지도의 크기 N(정사각형이므로 가로와 세로의 크기는 같으며 5≤N≤25)이 입력되고, ..

백준 알고리즘 2023.02.02

백준 2606 : 바이러스 문제풀이, 파이썬

백준 2606번 : 바이러스 문제풀이 [파이썬] 2606번 문제의 내용은 아래와 같습니다. 바이러스 문제 신종 바이러스인 웜 바이러스는 네트워크를 통해 전파된다. 한 컴퓨터가 웜 바이러스에 걸리면 그 컴퓨터와 네트워크 상에서 연결되어 있는 모든 컴퓨터는 웜 바이러스에 걸리게 된다. 예를 들어 7대의 컴퓨터가 과 같이 네트워크 상에서 연결되어 있다고 하자. 1번 컴퓨터가 웜 바이러스에 걸리면 웜 바이러스는 2번과 5번 컴퓨터를 거쳐 3번과 6번 컴퓨터까지 전파되어 2, 3, 5, 6 네 대의 컴퓨터는 웜 바이러스에 걸리게 된다. 하지만 4번과 7번 컴퓨터는 1번 컴퓨터와 네트워크상에서 연결되어 있지 않기 때문에 영향을 받지 않는다. 어느 날 1번 컴퓨터가 웜 바이러스에 걸렸다. 컴퓨터의 수와 네트워크 상에..

백준 알고리즘 2023.02.01

백준 2178번 : 미로 탐색 문제풀이, 파이썬

백준 2178번 : 윤년 문제풀이 [파이썬] 2178번 문제의 내용은 아래와 같습니다. 미로 탐색 성공 문제 N×M크기의 배열로 표현되는 미로가 있다. 1 0 1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 0 1 1 미로에서 1은 이동할 수 있는 칸을 나타내고, 0은 이동할 수 없는 칸을 나타낸다. 이러한 미로가 주어졌을 때, (1, 1)에서 출발하여 (N, M)의 위치로 이동할 때 지나야 하는 최소의 칸 수를 구하는 프로그램을 작성하시오. 한 칸에서 다른 칸으로 이동할 때, 서로 인접한 칸으로만 이동할 수 있다. 위의 예에서는 15칸을 지나야 (N, M)의 위치로 이동할 수 있다. 칸을 셀 때에는 시작 위치와 도착 위치도 포함한다. 입력 첫째 줄에 두 정수 N, M(2 ≤ N, M..

백준 알고리즘 2023.02.01

백준 1260번 파이썬 문제풀이 : DFS와 BFS

백준 1260번 : DFS와 BFS 문제풀이 [파이썬] DFS와 BFS 알고리즘에 대한 설명은 아래 포스팅에 있습니다. 2022.12.24 - [백준 알고리즘] - [알고리즘] DFS & BFS 알고리즘(2) - DFS 알고리즘 [알고리즘] DFS & BFS 알고리즘(2) - DFS 알고리즘 2022.12.24 - [백준 알고리즘] - [알고리즘] DFS & BFS 알고리즘(1) - 스택 자료구조와 큐 자료구조 [알고리즘] DFS & BFS 알고리즘(1) - 스택 자료구조와 큐 자료구조 본 알고리즘 포스팅의 주제인 DFS와 BFS inho3213.tistory.com 2023.01.27 - [백준 알고리즘] - [알고리즘] DFS & BFS 알고리즘(3) - BFS 알고리즘 [알고리즘] DFS & BFS..

백준 알고리즘 2023.01.30

백준 2738번 행렬 덧셈 문제풀이[파이썬]

백준 2738번 : 행렬 덧셈 문제풀이 [파이썬] 2738번 문제의 내용은 아래와 같습니다. 행렬 덧셈 문제 N*M크기의 두 행렬 A와 B가 주어졌을 때, 두 행렬을 더하는 프로그램을 작성하시오. 입력 첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과 M은 100보다 작거나 같고, 행렬의 원소는 절댓값이 100보다 작거나 같은 정수이다. 출력 첫째 줄부터 N개의 줄에 행렬 A와 B를 더한 행렬을 출력한다. 행렬의 각 원소는 공백으로 구분한다. 예제 입력 1 복사 3 3 1 1 1 2 2 2 0 1 0 3 3 3 4 4 4 5 5 100 예제 출력 1 복사 4 4 4 6 6 ..

백준 알고리즘 2023.01.27

[알고리즘] DFS & BFS 알고리즘(3) - BFS 알고리즘

2022.12.24 - [백준 알고리즘] - [알고리즘] DFS & BFS 알고리즘(2) - DFS 알고리즘 [알고리즘] DFS & BFS 알고리즘(2) - DFS 알고리즘 2022.12.24 - [백준 알고리즘] - [알고리즘] DFS & BFS 알고리즘(1) - 스택 자료구조와 큐 자료구조 [알고리즘] DFS & BFS 알고리즘(1) - 스택 자료구조와 큐 자료구조 본 알고리즘 포스팅의 주제인 DFS와 BFS inho3213.tistory.com DFS 알고리즘에 대한 정리는 위 포스팅에서 확인 본 포스팅에서는 BFS 알고리즘에 대한 정리 내용을 담고있습니다. (본 알고리즘 포스팅은 유튜브 '이코테 2021 강의'를 참고하여 작성하였습니다.) https://www.youtube.com/@dongbin..

[알고리즘] 그리디 알고리즘 - 백준 1541 파이썬 문제풀이: 잃어버린 괄호

백준 1541번 : 잃어버린 괄호 문제풀이 [파이썬] 그리디 알고리즘 1541번 문제의 내용은 아래와 같습니다. 잃어버린 괄호 문제 세준이는 양수와 +, -, 그리고 괄호를 가지고 식을 만들었다. 그리고 나서 세준이는 괄호를 모두 지웠다. 그리고 나서 세준이는 괄호를 적절히 쳐서 이 식의 값을 최소로 만들려고 한다. 괄호를 적절히 쳐서 이 식의 값을 최소로 만드는 프로그램을 작성하시오. 입력 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 많이 연속되는 숫자는 없다. 수는 0으로 시작할 수 있다. 입력으로 주어지는 식의 길이는 50보다 작거나 같다. 출력 첫..

[알고리즘] 그리디 알고리즘 - 백준 11399 파이썬 문제풀이: ATM

백준 11399번 문제풀이 : ATM / 파이썬 11399번 문제의 내용은 아래와 같습니다. ATM 문제 인하은행에는 ATM이 1대밖에 없다. 지금 이 ATM앞에 N명의 사람들이 줄을 서있다. 사람은 1번부터 N번까지 번호가 매겨져 있으며, i번 사람이 돈을 인출하는데 걸리는 시간은 Pi분이다. 사람들이 줄을 서는 순서에 따라서, 돈을 인출하는데 필요한 시간의 합이 달라지게 된다. 예를 들어, 총 5명이 있고, P1 = 3, P2 = 1, P3 = 4, P4 = 3, P5 = 2 인 경우를 생각해보자. [1, 2, 3, 4, 5] 순서로 줄을 선다면, 1번 사람은 3분만에 돈을 뽑을 수 있다. 2번 사람은 1번 사람이 돈을 뽑을 때 까지 기다려야 하기 때문에, 3+1 = 4분이 걸리게 된다. 3번 사람은..

[알고리즘] DFS & BFS 알고리즘(2) - DFS 알고리즘

2022.12.24 - [백준 알고리즘] - [알고리즘] DFS & BFS 알고리즘(1) - 스택 자료구조와 큐 자료구조 [알고리즘] DFS & BFS 알고리즘(1) - 스택 자료구조와 큐 자료구조 본 알고리즘 포스팅의 주제인 DFS와 BFS 알고리즘에 대해 알기전에, 먼저 '그래프 탐색'이란 무엇인가에 대해서 알아보는 것이 필요하다. (본 알고리즘 포스팅은 유튜브 '이코테 2021 강의'를 참고 inho3213.tistory.com 지난 포스팅에서는 스택 자료구조와 큐 자료구조에 대한 내용을 정리했다. 이번 포스팅에서는 본격적으로 DFS 알고리즘에 대해 정리해보고자한다. (본 알고리즘 포스팅은 유튜브 '이코테 2021 강의'를 참고하여 작성하였습니다.) https://www.youtube.com/@do..

[알고리즘] DFS & BFS 알고리즘(1) - 스택 자료구조와 큐 자료구조

본 알고리즘 포스팅의 주제인 DFS와 BFS 알고리즘에 대해 알기전에, 먼저 '그래프 탐색'이란 무엇인가에 대해서 알아보는 것이 필요하다. (본 알고리즘 포스팅은 유튜브 '이코테 2021 강의'를 참고하여 작성하였습니다.) https://www.youtube.com/@dongbinna 동빈나 www.youtube.com 그래프 탐색 이란? 우선 탐색이란 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정을 의미한다. 그래프에서의 탐색은 하나의 노드를 시작으로 연결된 모든 노드들을 모두 찾는 과정을 말한다. 다음으로 DFS와 BFS에 대해 다루기 전에 '스택'과 '큐'라는 자료구조에 대해 정리해보았다. 1. 스택 자료구조 란? 먼저 들어 온 데이터가 나중에 나가는 형식, 즉 선입선출의 자료구조를 스택 자료..