파이썬22 [python] 이벤트 정리 문제 이벤트란, 사용자가 웹 사이트에서 실행하거나, 클릭한 것을 의미한다. 어느 사이트에서 사용자들이 자주 실행하는 이벤트를 정리하려고 한다. 이를 위해서 사용자들이 취할 수 있는 이벤트를 N개로 규정하고, 각각의 이벤트에 1번부터 N번까지 번호를 붙였다. 이어서 M명의 사용자가 사이트에서 이벤트를 실행한 내역을 추출하였다. 추출한 정보를 바탕으로 사용자들이 가장 자주 실행하는 이벤트들을 알아내고자 한다. 한 사람이 같은 이벤트를 여러 번 실행한 경우에도 중복으로 세어준다. M명의 사용자들이 가장 자주 실행했던 이벤트들을 찾아 출력하시오. 입력 첫째 줄에 이벤트의 개수 N과 사용자의 수 M이 공백을 두고 주어진다. 다음 M개의 줄에는 매 줄마다 i번 사용자가 실행한 이벤트의 개수 k가 주어지고, 이어서 .. 2023. 6. 27. [python] 알파벳 트리 장난감 문제 포화 이진 트리 형태의 알파벳 트리 장난감이 있다. 이 장난감의 각 노드에는 알파벳이 쓰여있고, 루트 노드의 윗부분에는 구멍이 나 있다. 이 구멍을 통해 공을 넣으면 50%의 확률로 왼쪽 또는 오른쪽 자식 노드로 공이 굴러간다. 그렇게 공은 리프 노드에 도달할 때까지 계속 굴러간다. 여기서 전체 장난감의 높이가 N일 때, 루트 노드의 높이는 1, 리프 노드의 높이는 N에 해당한다. 공이 한 번 들어간 노드는 불이 켜지기 때문에, 공이 어떤 경로를 통해 굴러내려 왔는지 알 수 있다. 공을 한 번 굴리면 점수를 얻을 수 있는데, 각 알파벳의 점수를 A가 1점, B가 2점, ..., Z가 26점 이라고 할 때 경로에 포함된 알파벳들의 점수 합이 곧 경로의 점수가 된다. 장난감에 공을 굴렸을 때 얻을 수 .. 2023. 6. 26. [python] 구름이의 여행2 문제 구름이가 사는 구름 나라는 N개의 섬으로 이루어져 있다. 각 섬에는 1부터 N까지의 번호가 붙어 있고, 구름 나라는 사람들이 섬과 섬 사이를 편하게 이동할 수 있도록 다리를 M개 설치했다. 설치된 다리들은 아래 특징들을 만족한다. 모든 다리는 단방향으로만 이동할 수 있다. 서로 다른 두 섬을 잇는 다리는 최대 하나이다. 다리가 잇는 두 섬은 항상 다른 섬이다. 구름이는 현재 K번 섬에 있고, 다른 섬들을 둘러본 뒤 다시 K번 섬으로 돌아오려고 한다. 그렇지만 오래 돌아다니는 것은 피곤한 일이기 때문에, 구름이는 최소한의 다리만 거치는 경로를 택할 것이다. 구름이를 도와 최소 몇 개의 다리를 거쳐서 원래 구름이가 있던 섬으로 돌아올 수 있을지 알아보자. 다시 돌아올 수 있는 경로가 없는 경우에는 -1.. 2023. 6. 23. [python] 뭉친 K 문제 N × N 크기의 2차원 배열 M이 있다. M의 i번째 줄, j번째 칸을 M[i][j] 라고 하며, 한 칸의 크기는 1이다. 배열의 각 칸에는 0부터 9사이의 숫자가 하나씩 적혀 있다. 이 숫자를 해당 칸의 값이라고 한다. 배열 M에는 뭉친 그룹이 있다. 뭉친 그룹이란 상하좌우로 인접한 칸으로 연결되어 있으면서, 모든 칸들이 같은 값을 가지는 칸들의 집합을 의미한다. 뭉친 그룹의 크기는 그 그룹에 속한 칸의 개수와 같다. M[x][y] 칸의 값이 K일 때, 값이 K인 칸으로 이루어진 뭉친 그룹 중 가장 큰 뭉친 그룹의 크기를 출력하시오. 입력 첫째 줄에 M의 크기 N이 주어진다. 둘째 줄에 x, y가 공백을 두고 주어진다. 다음 N개의 줄에는 M의 상태가 주어진다. i번째 줄에는 M[i][1], ... 2023. 6. 22. 이전 1 2 3 4 ··· 6 다음