[Gold IV] 서강그라운드 - 14938
·
코딩테스트/백준
[Gold IV] 서강그라운드 - 14938문제 링크성능 요약메모리: 14480 KB, 시간: 112 ms분류데이크스트라, 플로이드–워셜, 그래프 이론, 최단 경로제출 일자2024년 11월 19일 01:46:19문제 설명예은이는 요즘 가장 인기가 있는 게임 서강그라운드를 즐기고 있다. 서강그라운드는 여러 지역중 하나의 지역에 낙하산을 타고 낙하하여, 그 지역에 떨어져 있는 아이템들을 이용해 서바이벌을 하는 게임이다. 서강그라운드에서 1등을 하면 보상으로 치킨을 주는데, 예은이는 단 한번도 치킨을 먹을 수가 없었다. 자신이 치킨을 못 먹는 이유는 실력 때문이 아니라 아이템 운이 없어서라고 생각한 예은이는 낙하산에서 떨어질 때 각 지역에 아이템 들이 몇 개 있는지 알려주는 프로그램을 개발을 하였지만 어디로 ..
[level 3] 가장 먼 노드 - 49189
·
코딩테스트/프로그래머스
[level 3] 가장 먼 노드 - 49189문제 링크성능 요약메모리: 112 MB, 시간: 76.12 ms구분코딩테스트 연습 > 그래프채점결과정확성: 100.0합계: 100.0 / 100.0제출 일자2024년 11월 18일 14:57:34문제 설명n개의 노드가 있는 그래프가 있습니다. 각 노드는 1부터 n까지 번호가 적혀있습니다. 1번 노드에서 가장 멀리 떨어진 노드의 갯수를 구하려고 합니다. 가장 멀리 떨어진 노드란 최단경로로 이동했을 때 간선의 개수가 가장 많은 노드들을 의미합니다.노드의 개수 n, 간선에 대한 정보가 담긴 2차원 배열 vertex가 매개변수로 주어질 때, 1번 노드로부터 가장 멀리 떨어진 노드가 몇 개인지를 return 하도록 solution 함수를 작성해주세요.제한사항노드의 개수..
[Gold IV] 최단경로 - 1753
·
코딩테스트/백준
[Gold IV] 최단경로 - 1753문제 링크성능 요약메모리: 108700 KB, 시간: 656 ms분류데이크스트라, 그래프 이론, 최단 경로제출 일자2024년 11월 18일 14:21:12문제 설명방향그래프가 주어지면 주어진 시작점에서 다른 모든 정점으로의 최단 경로를 구하는 프로그램을 작성하시오. 단, 모든 간선의 가중치는 10 이하의 자연수이다.입력첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1 ≤ V ≤ 20,000, 1 ≤ E ≤ 300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1 ≤ K ≤ V)가 주어진다. 셋째 줄부터 E개의 줄에 걸쳐 각 간선을 나타내는 세 개의 정수 (u, v, w)가 순서대로 주어진다. 이는 ..
[Silver I] 숨바꼭질 - 1697
·
코딩테스트/백준
[Silver I] 숨바꼭질 - 1697문제 링크성능 요약메모리: 23468 KB, 시간: 144 ms분류너비 우선 탐색, 그래프 이론, 그래프 탐색제출 일자2024년 11월 17일 17:12:54문제 설명수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동하게 된다.수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇 초 후인지 구하는 프로그램을 작성하시오.입력첫 번째 줄에 수빈이가 ..
[Silver III] 이친수 - 2193
·
코딩테스트/백준
[Silver III] 이친수 - 2193문제 링크성능 요약메모리: 14212 KB, 시간: 104 ms분류다이나믹 프로그래밍제출 일자2024년 11월 16일 18:08:06문제 설명0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다.이친수는 0으로 시작하지 않는다.이친수에서는 1이 두 번 연속으로 나타나지 않는다. 즉, 11을 부분 문자열로 갖지 않는다.예를 들면 1, 10, 100, 101, 1000, 1001 등이 이친수가 된다. 하지만 0010101이나 101101은 각각 1, 2번 규칙에 위배되므로 이친수가 아니다.N(1 ≤ N ≤ 90)이 주어졌을 때, N자리 이친수의..
[Silver III] 계단 오르기 - 2579
·
코딩테스트/백준
[Silver III] 계단 오르기 - 2579문제 링크성능 요약메모리: 14220 KB, 시간: 104 ms분류다이나믹 프로그래밍제출 일자2024년 11월 14일 16:36:12문제 설명계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점수를 얻게 된다.예를 들어 와 같이 시작점에서부터 첫 번째, 두 번째, 네 번째, 여섯 번째 계단을 밟아 도착점에 도달하면 총 점수는 10 + 20 + 25 + 20 = 75점이 된다.계단 오르는 데는 다음과 같은 규칙이 있다.계단은 한 번에 한 계단씩 또는 두 계단씩 오를 수 있다. 즉, 한 계단을 밟으면서 이어서 다음 계단이나, 다음 다음 ..
[level 3] 아이템 줍기 - 87694
·
코딩테스트/프로그래머스
[level 3] 아이템 줍기 - 87694문제 링크성능 요약메모리: 77.1 MB, 시간: 1.51 ms구분코딩테스트 연습 > 깊이/너비 우선 탐색(DFS/BFS)채점결과정확성: 100.0합계: 100.0 / 100.0제출 일자2024년 11월 13일 16:32:14문제 설명다음과 같은 다각형 모양 지형에서 캐릭터가 아이템을 줍기 위해 이동하려 합니다.지형은 각 변이 x축, y축과 평행한 직사각형이 겹쳐진 형태로 표현하며, 캐릭터는 이 다각형의 둘레(굵은 선)를 따라서 이동합니다.만약 직사각형을 겹친 후 다음과 같이 중앙에 빈 공간이 생기는 경우, 다각형의 가장 바깥쪽 테두리가 캐릭터의 이동 경로가 됩니다.단, 서로 다른 두 직사각형의 x축 좌표 또는 y축 좌표가 같은 경우는 없습니다.즉, 위 그림처럼..
[level 3] 섬 연결하기 - 42861
·
코딩테스트/프로그래머스
[level 3] 섬 연결하기 - 42861문제 링크성능 요약메모리: 85.5 MB, 시간: 0.87 ms구분코딩테스트 연습 > 탐욕법(Greedy)채점결과정확성: 100.0합계: 100.0 / 100.0제출 일자2024년 11월 13일 14:31:07문제 설명n개의 섬 사이에 다리를 건설하는 비용(costs)이 주어질 때, 최소의 비용으로 모든 섬이 서로 통행 가능하도록 만들 때 필요한 최소 비용을 return 하도록 solution을 완성하세요.다리를 여러 번 건너더라도, 도달할 수만 있으면 통행 가능하다고 봅니다. 예를 들어 A 섬과 B 섬 사이에 다리가 있고, B 섬과 C 섬 사이에 다리가 있으면 A 섬과 C 섬은 서로 통행 가능합니다.제한사항섬의 개수 n은 1 이상 100 이하입니다.costs의..
[level 3] 등굣길 - 42898
·
코딩테스트/프로그래머스
[level 3] 등굣길 - 42898문제 링크성능 요약메모리: 51.8 MB, 시간: 1.05 ms구분코딩테스트 연습 > 동적계획법(Dynamic Programming)채점결과정확성: 50.0효율성: 50.0합계: 100.0 / 100.0제출 일자2024년 11월 12일 18:37:58문제 설명계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 집에서 학교까지 가는 길은 m x n 크기의 격자모양으로 나타낼 수 있습니다.아래 그림은 m = 4, n = 3 인 경우입니다.가장 왼쪽 위, 즉 집이 있는 곳의 좌표는 (1, 1)로 나타내고 가장 오른쪽 아래, 즉 학교가 있는 곳의 좌표는 (m, n)으로 나타냅니다.격자의 크기 m, n과 물이 잠긴 지역의 좌표를..
[Silver III] N과 M (1) - 15649
·
코딩테스트/백준
[Silver III] N과 M (1) - 15649문제 링크성능 요약메모리: 23052 KB, 시간: 236 ms분류백트래킹제출 일자2024년 11월 9일 16:02:47문제 설명자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오.1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열입력첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8)출력한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다.수열은 사전 순으로 증가하는 순서로 출력해야 한다. import java.io.*;import java.util.*;class Main { stat..