본문 바로가기

백준풀이31

[Python] 백준 14725 개미굴 문제개미는(뚠뚠) 오늘도(뚠뚠) 열심히(뚠뚠) 일을 하네.개미는 아무말도 하지 않지만 땀을 뻘뻘 흘리면서 매일 매일을 살길 위해서 열심히 일을 하네.한 치 앞도(뚠뚠) 모르는(뚠뚠) 험한 이 세상(뚠뚠) 그렇지만(뚠뚠) 오늘도 행복한 개미들!우리의 천재 공학자 윤수는 이 개미들이 왜 행복한지 궁금해졌다.행복의 비결이 개미가 사는 개미굴에 있다고 생각한 윤수는 개미굴의 구조를 알아보기 위해 로봇 개미를 만들었다.로봇 개미는 센서가 있어 개미굴의 각 층에 먹이가 있는 방을 따라 내려가다 더 이상 내려갈 수 없으면 그 자리에서 움직이지 않고 신호를 보낸다.이 신호로 로봇 개미는 개미굴 각 층을 따라 내려오면서 알게 된 각 방에 저장된 먹이 정보를 윤수한테 알려줄 수 있다.로봇 개미 개발을 완료한 윤수는 개미굴.. 2025. 1. 12.
[Python] 백준 2533 사회망 서비스(SNS) 문제https:/www.acmicpc.net/problem/2533  난이도골드 3   코드import syssys.setrecursionlimit(10**6)def find(node) : for neighbor in friend[node] : if not visit[neighbor] : visit[neighbor] = True find(neighbor) dp[node][1] += min(dp[neighbor]) dp[node][0] += dp[neighbor][1]N = int(sys.stdin.readline())friend = [[] for _ in range(N+1)]for _ in range(N-1.. 2024. 12. 23.
[Python] 백준 12100 2048(Easy) 문제2048 게임은 4×4 크기의 보드에서 혼자 즐기는 재미있는 게임이다. 이 게임에서 한 번의 이동은 보드 위에 있는 전체 블록을 상하좌우 네 방향 중 하나로 이동시키는 것이다. 이때, 같은 값을 갖는 두 블록이 충돌하면 두 블록은 하나로 합쳐지게 된다. 한 번의 이동에서 이미 합쳐진 블록은 또 다른 블록과 다시 합쳐질 수 없다. (실제 게임에서는 이동을 한 번 할 때마다 블록이 추가되지만, 이 문제에서 블록이 추가되는 경우는 없다) 이 문제에서 다루는 2048 게임은 보드의 크기가 N×N 이다. 보드의 크기와 보드판의 블록 상태가 주어졌을 때, 최대 5번 이동해서 만들 수 있는 가장 큰 블록의 값을 구하는 프로그램을 작성하시오.https://www.acmicpc.net/problem/12100   난.. 2024. 10. 29.
[Python] 백준 9328 열쇠 문제상근이는 1층 빌딩에 침입해 매우 중요한 문서를 훔쳐오려고 한다. 상근이가 가지고 있는 평면도에는 문서의 위치가 모두 나타나 있다. 빌딩의 문은 모두 잠겨있기 때문에, 문을 열려면 열쇠가 필요하다. 상근이는 일부 열쇠를 이미 가지고 있고, 일부 열쇠는 빌딩의 바닥에 놓여져 있다. 상근이는 상하좌우로만 이동할 수 있다.상근이가 훔칠 수 있는 문서의 최대 개수를 구하는 프로그램을 작성하시오.https://www.acmicpc.net/problem/9328     난이도골드 1   코드import sysfrom collections import dequedef search() : global answer # BFS while queue : posX, posY = queue.po.. 2024. 10. 23.
[Python] 백준 2263 트리의 순회 문제n개의 정점을 갖는 이진 트리의 정점에 1부터 n까지의 번호가 중복 없이 매겨져 있다. 이와 같은 이진 트리의 인오더와 포스트오더가 주어졌을 때, 프리오더를 구하는 프로그램을 작성하시오.https://www.acmicpc.net/problem/2263        난이도골드 1     코드import syssys.setrecursionlimit(10**6)def find_tree(start_index, end_index, parent_node, left_or_right) : global root_index # print("start : " , start_index, "end : ", end_index, "parent_node : ",parent_node, "? : ", left_or.. 2024. 10. 21.
[Python] 백준 2098 외판원 순원 문제외판원 순회 문제는 영어로 Traveling Salesman problem (TSP) 라고 불리는 문제로 computer science 분야에서 가장 중요하게 취급되는 문제 중 하나이다. 여러 가지 변종 문제가 있으나, 여기서는 가장 일반적인 형태의 문제를 살펴보자.1번부터 N번까지 번호가 매겨져 있는 도시들이 있고, 도시들 사이에는 길이 있다. (길이 없을 수도 있다) 이제 한 외판원이 어느 한 도시에서 출발해 N개의 도시를 모두 거쳐 다시 원래의 도시로 돌아오는 순회 여행 경로를 계획하려고 한다. 단, 한 번 갔던 도시로는 다시 갈 수 없다. (맨 마지막에 여행을 출발했던 도시로 돌아오는 것은 예외) 이런 여행 경로는 여러 가지가 있을 수 있는데, 가장 적은 비용을 들이는 여행 계획을 세우고자 한.. 2024. 10. 18.