자료구조 & 알고리즘/백준(Baekjoon)

[백준] 14502(파이썬) - 연구소

https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 이 문제는 제가 다른 bfs 문제(토마토, 바이러스 문제 등등..)와 비슷한 줄 알고 풀지 않았지만 문제를 잘 읽어보니 완전 탐색 + bfs를 사용해야 할 것 같아서 풀어본 문제입니다. 먼저 최종적으로 구해야 하는 건 안전영역 지대 즉, 벽 3개를 세우고(1을 3개를 배치하고) 난 뒤의 0의 개수를 구하면 되는 문제이므로 바이러스가 얼만큼 퍼졌는지를 확인해 줘야 합니다. 바이러스는 그냥 일반적인 bfs로 풀어..

2021.12.02 게시됨

자료구조 & 알고리즘/백준(Baekjoon)

[백준] 17144(파이썬) - 미세먼지 안녕!

https://www.acmicpc.net/problem/17144 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net 최근 알고리즘을 다시 풀기 시작했습니다! 감각을 다시 익힐 겸 해서 구현 위주로 풀고 있다 보니 죄다 삼성 기출문제네요. 이번 문제도 어김없이.. 제가 문제를 읽고 처음 든 생각은 두 가지였습니다. 순서대로 일어난다 라는 조건이 있으니 조건 순서대로 구현을 해봐야겠다. 구현은 죄다 그래프를 쓰는 문제니 익숙해지자. 예를 들면 한 칸씩 움직인다던가 bfs, dfs 등등... 자 그럼 풀어보겠습니다..

2021.12.01 게시됨

자료구조 & 알고리즘/백준(Baekjoon)

[백준] 16236(파이썬) - 아기 상어

https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net 이 문제를 처음 읽고 든 생각은 아래와 같습니다. BFS로 구현을 하고, 거리를 담을 리스트가 하나 더 있어야 한다 요즘 알고리즘 풀 때 하는 생각 : 주어진 조건대로 차근차근 생각하자 먼저, BFS 함수 안에 들어갈 input 값들에는 상어의 좌표와, 상어의 크기가 들어가야 합니다.간단하게 상어의 위치만 파악할 수 있는 2중 for문을 돌려서 상어의 좌표를 x, y에 저장해주고 상어의 크..

2021.11.28 게시됨

자료구조 & 알고리즘/백준(Baekjoon)

[백준] 5567(파이썬) - 결혼식

https://www.acmicpc.net/problem/5567 5567번: 결혼식 예제 1의 경우 2와 3은 상근이의 친구이다. 또, 3과 4는 친구이기 때문에, 4는 상근이의 친구의 친구이다. 5와 6은 친구도 아니고, 친구의 친구도 아니다. 따라서 2, 3, 4 3명의 친구를 결혼식에 초대 www.acmicpc.net 이 문제를 처음 읽고 든 생각은 '어쨌든 그래프니까 bfs를 이용해야겠다'였습니다. bfs로 풀다 보니 생각보다 로직이 간단했습니다. bfs로직을 풀 때, 부모 노드에서 자식 노드로 갈 때 visited [부모 노드]에서 +1을 해서 visited [자식 노드] 값으로 넣어줬습니다. 그러면 visited에 담기는 값이 1번부터 시작해서 몇 번을 거친 친구인지가 나오게 되는데, 조건에..

2021.11.24 게시됨