백준 57

백준 1260번 DFS와 BFS (java)

[Silver II] DFS와 BFS - 1260문제 링크성능 요약메모리: 24380 KB, 시간: 284 ms분류그래프 이론, 그래프 탐색, 너비 우선 탐색, 깊이 우선 탐색제출 일자2024년 8월 8일 00:39:10문제 설명그래프를 DFS로 탐색한 결과와 BFS로 탐색한 결과를 출력하는 프로그램을 작성하시오. 단, 방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문하고, 더 이상 방문할 수 있는 점이 없는 경우 종료한다. 정점 번호는 1번부터 N번까지이다.입력첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 ..

백준 2024.08.08

백준 16956번 늑대와 양 (java)

[Silver III] 늑대와 양 - 16956문제 링크성능 요약메모리: 31292 KB, 시간: 296 ms분류애드 혹, 해 구성하기제출 일자2024년 8월 6일 23:25:20문제 설명크기가 R×C인 목장이 있고, 목장은 1×1 크기의 칸으로 나누어져 있다. 각각의 칸에는 비어있거나, 양 또는 늑대가 있다. 양은 이동하지 않고 위치를 지키고 있고, 늑대는 인접한 칸을 자유롭게 이동할 수 있다. 두 칸이 인접하다는 것은 두 칸이 변을 공유하는 경우이다.목장에 울타리를 설치해 늑대가 양이 있는 칸으로 갈 수 없게 하려고 한다. 늑대는 울타리가 있는 칸으로는 이동할 수 없다. 울타리를 설치해보자.입력첫째 줄에 목장의 크기 R, C가 주어진다.둘째 줄부터 R개의 줄에 목장의 상태가 주어진다. '.'는 빈 칸..

백준 2024.08.06

백준 10451번 순열 사이클 (java)

[Silver III] 순열 사이클 - 10451문제 링크성능 요약메모리: 52020 KB, 시간: 476 ms분류그래프 이론, 그래프 탐색, 순열 사이클 분할제출 일자2024년 8월 5일 22:42:56 문제1부터 N까지 정수 N개로 이루어진 순열을 나타내는 방법은 여러 가지가 있다. 예를 들어, 8개의 수로 이루어진 순열 (3, 2, 7, 8, 1, 4, 5, 6)을 배열을 이용해 표현하면 (1234567832781456)와 같다. 또는, Figure 1과 같이 방향 그래프로 나타낼 수도 있다.순열을 배열을 이용해 (1…i…nπ1…πi…πn)로 나타냈다면, i에서 πi로 간선을 이어 그래프로 만들 수 있다.Figure 1에 나와있는 것 처럼, 순열 그래프 (3, 2, 7, 8, 1, 4, 5, 6) ..

백준 2024.08.05

백준 2664번 촌수계산 (java)

[Silver II] 촌수계산 - 2644문제 링크성능 요약메모리: 14192 KB, 시간: 100 ms분류그래프 이론, 그래프 탐색, 너비 우선 탐색, 깊이 우선 탐색제출 일자2024년 8월 5일 21:13:49문제 설명우리 나라는 가족 혹은 친척들 사이의 관계를 촌수라는 단위로 표현하는 독특한 문화를 가지고 있다. 이러한 촌수는 다음과 같은 방식으로 계산된다. 기본적으로 부모와 자식 사이를 1촌으로 정의하고 이로부터 사람들 간의 촌수를 계산한다. 예를 들면 나와 아버지, 아버지와 할아버지는 각각 1촌으로 나와 할아버지는 2촌이 되고, 아버지 형제들과 할아버지는 1촌, 나와 아버지 형제들과는 3촌이 된다.여러 사람들에 대한 부모 자식들 간의 관계가 주어졌을 때, 주어진 두 사람의 촌수를 계산하는 프로그..

백준 2024.08.05

백준 2606번 바이러스(java)

[Silver III] 바이러스 - 2606문제 링크성능 요약메모리: 14456 KB, 시간: 100 ms분류그래프 이론, 그래프 탐색, 너비 우선 탐색, 깊이 우선 탐색제출 일자2024년 8월 4일 19:27:57문제 설명신종 바이러스인 웜 바이러스는 네트워크를 통해 전파된다. 한 컴퓨터가 웜 바이러스에 걸리면 그 컴퓨터와 네트워크 상에서 연결되어 있는 모든 컴퓨터는 웜 바이러스에 걸리게 된다.예를 들어 7대의 컴퓨터가 과 같이 네트워크 상에서 연결되어 있다고 하자. 1번 컴퓨터가 웜 바이러스에 걸리면 웜 바이러스는 2번과 5번 컴퓨터를 거쳐 3번과 6번 컴퓨터까지 전파되어 2, 3, 5, 6 네 대의 컴퓨터는 웜 바이러스에 걸리게 된다. 하지만 4번과 7번 컴퓨터는 1번 컴퓨터와 네트워크상에서 연결되..

백준 2024.08.04

백준 11558번 The Game of Death(java)

[Silver IV] The Game of Death - 11558문제 링크성능 요약메모리: 19304 KB, 시간: 156 ms분류그래프 이론, 그래프 탐색, 구현, 시뮬레이션제출 일자2024년 8월 3일 18:57:30문제 설명희현이와 주경이는 The Game of Death를 좋아한다.The Game of Death 규칙:플레이어는 각자 한 명씩 지목을 한다(자신도 가능).처음 시작하는 사람은 임의의 자연수 K를 말한다.시작한 사람부터 지목한 사람을 차례대로 따라가다가 K번째 지목당한 사람이 걸리게 된다.희현이는 희현이부터 이 게임을 시작할 때 이 게임에서 반드시 주경이를 반드시! 걸리게 하고 싶다. 주경이가 걸릴 수 있도록 희현이를 도와주자.입력첫 줄에는 테스트 케이스의 숫자 T가 주어지며, 이어..

백준 2024.08.03

백준 2331번 반복수열(java)

[Silver IV] 반복수열 - 2331문제 링크성능 요약메모리: 14164 KB, 시간: 104 ms분류구현, 수학제출 일자2024년 8월 3일 18:24:05문제 설명다음과 같이 정의된 수열이 있다.D[1] = AD[n] = D[n-1]의 각 자리의 숫자를 P번 곱한 수들의 합예를 들어 A=57, P=2일 때, 수열 D는 [57, 74(=52+72=25+49), 65, 61, 37, 58, 89, 145, 42, 20, 4, 16, 37, …]이 된다. 그 뒤에는 앞서 나온 수들(57부터가 아니라 58부터)이 반복된다.이와 같은 수열을 계속 구하다 보면 언젠가 이와 같은 반복수열이 된다. 이때, 반복되는 부분을 제외했을 때, 수열에 남게 되는 수들의 개수를 구하는 프로그램을 작성하시오. 위의 예에서..

백준 2024.08.03

백준 1747번 소수&팰린드롬(java)

[Silver I] 소수&팰린드롬 - 1747문제 링크성능 요약메모리: 70660 KB, 시간: 260 ms분류브루트포스 알고리즘, 수학, 정수론, 소수 판정, 에라토스테네스의 체제출 일자2024년 8월 2일 18:17:58문제 설명어떤 수와 그 수의 숫자 순서를 뒤집은 수가 일치하는 수를 팰린드롬이라 부른다. 예를 들어 79,197과 324,423 등이 팰린드롬 수이다.어떤 수 N (1 ≤ N ≤ 1,000,000)이 주어졌을 때, N보다 크거나 같고, 소수이면서 팰린드롬인 수 중에서, 가장 작은 수를 구하는 프로그램을 작성하시오.입력첫째 줄에 N이 주어진다.출력첫째 줄에 조건을 만족하는 수를 출력한다.풀이소수와 팰린드롬을 동시에 만족하는 숫자를 찾는 문제다. 소수는 1과 자기 자신을 제외한 수 중 약..

백준 2024.08.02

백준 2531번 회전 초밥(java)

[Silver I] 회전 초밥 - 2531문제 링크성능 요약메모리: 18644 KB, 시간: 196 ms분류브루트포스 알고리즘, 슬라이딩 윈도우, 두 포인터제출 일자2024년 8월 2일 05:04:08문제 설명회전 초밥 음식점에는 회전하는 벨트 위에 여러 가지 종류의 초밥이 접시에 담겨 놓여 있고, 손님은 이 중에서 자기가 좋아하는 초밥을 골라서 먹는다. 초밥의 종류를 번호로 표현할 때, 다음 그림은 회전 초밥 음식점의 벨트 상태의 예를 보여주고 있다. 벨트 위에는 같은 종류의 초밥이 둘 이상 있을 수 있다.새로 문을 연 회전 초밥 음식점이 불경기로 영업이 어려워서, 다음과 같이 두 가지 행사를 통해서 매상을 올리고자 한다.원래 회전 초밥은 손님이 마음대로 초밥을 고르고, 먹은 초밥만큼 식대를 계산하지만..

백준 2024.08.02

백준 2343번 기타 레슨(java) - 이분 탐색 방식

[Silver I] 기타 레슨 - 2343문제 링크성능 요약메모리: 23544 KB, 시간: 340 ms분류이분 탐색, 매개 변수 탐색제출 일자2024년 8월 1일 17:16:29문제 설명강토는 자신의 기타 강의 동영상을 블루레이로 만들어 판매하려고 한다. 블루레이에는 총 N개의 강의가 들어가는데, 블루레이를 녹화할 때, 강의의 순서가 바뀌면 안 된다. 순서가 뒤바뀌는 경우에는 강의의 흐름이 끊겨, 학생들이 대혼란에 빠질 수 있기 때문이다. 즉, i번 강의와 j번 강의를 같은 블루레이에 녹화하려면 i와 j 사이의 모든 강의도 같은 블루레이에 녹화해야 한다.강토는 이 블루레이가 얼마나 팔릴지 아직 알 수 없기 때문에, 블루레이의 개수를 가급적 줄이려고 한다. 오랜 고민 끝에 강토는 M개의 블루레이에 모든 ..

백준 2024.08.01