Bibbidi Bobbidi Boo
[알고리즘] BOJ 1303번: 전쟁 - 전투(python3)
Algorithm 2023. 6. 9. 09:45

* 알고리즘 너무 약해서 기초 문제 50개 목표로 푸는 중... * 3시간 안에 답을 내지 못하면 답지를 보고 30분 내로 정답 판정을 받고, 3일 뒤 다시 풀어보기 Greedy 9 / 50 탐색 9 / 50(NEW!) 기초 동적 프로그래밍 7 / 50 투포인터 2 / 10 이분탐색 0 / 10 문제 https://www.acmicpc.net/problem/1303 1303번: 전쟁 - 전투 첫째 줄에는 전쟁터의 가로 크기 N, 세로 크기 M(1 ≤ N, M ≤ 100)이 주어진다. 그 다음 두 번째 줄에서 M+1번째 줄에는 각각 (X, Y)에 있는 병사들의 옷색이 띄어쓰기 없이 주어진다. 모든 자리에는 www.acmicpc.net → solved.ac 기준 실버 1 문제 해결 아이디어 이전에 풀었던 문..

[알고리즘] BOJ 2667번 - 단지번호붙이기(python3)
Algorithm 2023. 6. 7. 02:40

* 알고리즘 너무 약해서 기초 문제 50개 목표로 푸는 중... * 3시간 안에 답을 내지 못하면 답지를 보고 30분 내로 정답 판정을 받고, 3일 뒤 다시 풀어보기 Greedy 8 / 50 탐색 8 / 50(NEW!) 기초 동적 프로그래밍 6 / 50 투포인터 2 / 10 이분탐색 0 / 10 문제 https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net → solved.ac 기준 실버 1 문제 해결 아이디어 예전에 알고리즘 책에서 봤던 DFS 예제 문..

[알고리즘] BOJ 2606번 - 바이러스(python3)
Algorithm 2023. 5. 24. 00:36

* 알고리즘 너무 약해서 기초 문제 50개 목표로 푸는 중... * 3시간 안에 답을 내지 못하면 답지를 보고 30분 내로 정답 판정을 받고, 3일 뒤 다시 풀어보기 Greedy 3 / 50 탐색 3 / 50(NEW!) 기초 동적 프로그래밍 3 / 50 투포인터 0 / 10 문제 2606번: 바이러스 (acmicpc.net) 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net → solved.ac 기준 실버 3 문제 해결 아이디어 그림만 보고 그래프 탐색임을 일단 유추, 시작 노드가 1번이고, 연결된 노드의 수를 출력..

[Algorithm][Python3][BOJ 1707번] 이분 그래프
Algorithm 2022. 2. 23. 18:00

문제 그래프의 정점의 집합을 둘로 분할하여, 각 집합에 속한 정점끼리는 서로 인접하지 않도록 분할할 수 있을 때, 그러한 그래프를 특별히 이분 그래프 (Bipartite Graph) 라 부른다. 그래프가 입력으로 주어졌을 때, 이 그래프가 이분 그래프인지 아닌지 판별하는 프로그램을 작성하시오. 풀이 풀이 - BFS와 DFS 이분 그래프는 쉽게 말하자면 그래프에서 연결되어 있는 노드끼리 같은 색깔을 칠했을 때 총 두가지 색깔이 나온다는 의미다. 모든 노드를 탐색하면서 색깔을 칠하는 방식으로 해결했고 이 때 DFS를 이용했다. (BFS로도 풀 수 있다고 한다.) 재귀로 풀면서 해결하는데 문제는 비연결 그래프인 걸 감안하고 풀어야 한다.(이거 때문에 계속 오류남..) 탐색을 하면서 인접한 노드에 dfs를 수행..