알고리즘/백준
-
[백준] 2461번 : 대표 선수 - 자바(JAVA)알고리즘/백준 2022. 6. 1. 00:01
https://www.acmicpc.net/problem/2461 2461번: 대표 선수 입력의 첫 번째 줄에는 학급의 수를 나타내는 N과 각 학급의 학생의 수를 나타내는 M이 하나의 빈칸을 사이에 두고 주어진다. 단, 1 ≤ N, M ≤ 1,000이다. 두 번째 줄부터 N개의 줄에는 각 줄마다 한 www.acmicpc.net 문제 해석 N개의 학급이 존재하며 각 학급의 학생 수는 모두 M명으로 구성됩니다. 각각의 반에서 대표로 선발된 모든 학생들의 능력치 중 최댓값과 최솟값의 차이가 최소가 되도록 선수를 선발하려고 합니다. 예를 들어 N=3, M=4인 경우 학생들의 능력치와 다음과 같이 주어졌습니다. 1반=[12, 16, 67, 43] 2반=[7, 17, 68, 48] 3반=[14, 15, 77, 54..
-
[백준] 2573번 : 빙산 - 자바(JAVA)알고리즘/백준 2022. 5. 31. 00:01
https://www.acmicpc.net/problem/2573 2573번: 빙산 첫 줄에는 이차원 배열의 행의 개수와 열의 개수를 나타내는 두 정수 N과 M이 한 개의 빈칸을 사이에 두고 주어진다. N과 M은 3 이상 300 이하이다. 그 다음 N개의 줄에는 각 줄마다 배열의 각 행을 www.acmicpc.net 문제 해석 각 빙산의 부분별 높이 정보는 배열의 각 칸에 양의 정수로 저장됩니다. 빙상 이외에 바다에 해당하는 칸에는 0이 저장됩니다. 빙산의 높이는 바닷물에 많이 접해져 있는 부분부터 빨리 줄어듭니다. 배열에서 빙산의 각 부분에 해당되는 칸에 있는 높이는 일년마다 각 칸에 동서남북 4 방향으로 붙어 있는 0이 저장된 캉의 개수만큼 줄어듭니다. 그림1의 빙산은 1년후에 그림 2와 같이 변형됩..
-
[백준] 1937번 : 욕심쟁이 판다 - 자바(JAVA)알고리즘/백준 2022. 5. 29. 00:01
https://www.acmicpc.net/problem/1937 1937번: 욕심쟁이 판다 n × n의 크기의 대나무 숲이 있다. 욕심쟁이 판다는 어떤 지역에서 대나무를 먹기 시작한다. 그리고 그 곳의 대나무를 다 먹어 치우면 상, 하, 좌, 우 중 한 곳으로 이동을 한다. 그리고 또 그곳에 www.acmicpc.net 문제 해석 n x n의 크기 대나무 숲이 존재합니다. 욕심쟁이 판다는 어떤 지역에서 대나무를 먹기 시작합니다. 그리고 그곳의 대나무를 다 먹어 치우면 상, 하, 좌, 우 중 한 곳으로 이동합니다. 그리고 그곳에서 또 대나무를 먹습니다. 대나무를 먹는 조건 1. 옮긴 지역에는 전 지역보다 대나무가 많아야 한다. 판다가 최대한 많은 칸을 이동하려면 어떤 경로를 통하여 움직여야 하는지 구하라..
-
[백준] 3176번 : 도로 네트워크 - 자바(JAVA)알고리즘/백준 2022. 5. 27. 00:01
https://www.acmicpc.net/problem/3176 3176번: 도로 네트워크 첫째 줄에 N이 주어진다. (2 ≤ N ≤ 100,000) 다음 N-1개 줄에는 도로를 나타내는 세 정수 A, B, C가 주어진다. A와 B사이에 길이가 C인 도로가 있다는 뜻이다. 도로의 길이는 1,000,000보다 작거나 같은 양 www.acmicpc.net 문제 해석 N개의 도시와 그 도시를 연결하는 N-1개의 도로로 이루어진 도로 네트워크가 존재합니다. 모든 도시의 쌍에는 그 도시를 연결하는 유일한 경로가 있고, 각 도로의 길이는 입력으로 주어집니다. 총 K개의 도시 쌍이 주어질 때, 경로 상에서 가장 짧은 도로의 길이와 가장 긴 도로의 길이를 구하는 프로그램을 작성하세요 문제 풀이 전 설계 N개의 도시와..
-
[백준] 17472번 : 다리 만들기 2 - 자바(JAVA)알고리즘/백준 2022. 5. 26. 00:01
https://www.acmicpc.net/problem/17472 17472번: 다리 만들기 2 첫째 줄에 지도의 세로 크기 N과 가로 크기 M이 주어진다. 둘째 줄부터 N개의 줄에 지도의 정보가 주어진다. 각 줄은 M개의 수로 이루어져 있으며, 수는 0 또는 1이다. 0은 바다, 1은 땅을 의미한다. www.acmicpc.net 문제 해석 섬으로 이루어진 나라가 존재하고 모든 섬을 다리로 연결하려고 합니다. 이 나라의 지도는 N x M 크기의 이차원 격자로 나타잴 수 있으며 격자의 각 칸은 땅이거나 바다입니다. 파란색은 땅을 의미합니다. 다리를 놓아 섬A와 섬B를 연결하고자 할때 제약사항은 다음과 같습니다. 다리는 바다에만 건설할 수 있습니다. 다리의 길이는 2 이상이여야 합니다. 다리는 방향이 중간..
-
[백준] 2610번 : 회의준비 - 자바(JAVA)알고리즘/백준 2022. 5. 25. 00:01
https://www.acmicpc.net/problem/2610 2610번: 회의준비 첫째 중에 회의에 참석하는 사람의 수 N이 주어진다. 참석자들은 1부터 N까지의 자연수로 표현되며 회의에 참석하는 인원은 100 이하이다. 둘째 줄에는 서로 알고 있는 관계의 수 M이 주어진다. 이 www.acmicpc.net 문제 해석 위원회를 구성하려고 하는데 위원회를 구성하는 방식은 다음과 같습니다 1. 서로 알고 있는 사람은 반드시 같은 위원회에 속해야 합니다. 2. 효율적인 회의 진행을 위해 위원회의 수는 최대가 되어야 합니다. 이후에 각 위원회의 대표를 한 명씩 뽑아 대표만이 회의 시간 중 발언권을 가질 수 있습니다. 회의 참석자들은 자신의 의견을 말하기 위해서는 자신이 속한 위원회의 대표에게 의견을 전달해..
-
[백준] 스도쿠 : 2580번 - 자바(JAVA)알고리즘/백준 2022. 5. 21. 00:01
https://www.acmicpc.net/problem/2580 2580번: 스도쿠 스도쿠는 18세기 스위스 수학자가 만든 '라틴 사각형'이랑 퍼즐에서 유래한 것으로 현재 많은 인기를 누리고 있다. 이 게임은 아래 그림과 같이 가로, 세로 각각 9개씩 총 81개의 작은 칸으로 이루 www.acmicpc.net 문제 해석 스도쿠란 각각의 가로줄과 세로줄에는 1~9까지의 숫자가 한 번씩만 나타나야 합니다. 또한 3x3 정사각형 안에도 1~9까지의 숫자가 한번씩만 나타나야 합니다. 스도쿠의 빈칸의 경우에는 0으로 채워져 있으며 스도쿠 판을 채우는 방법이 여럿인 경우에는 그중 하나만을 출력합니다. 문제 풀이전 설계 스도쿠를 실제로 채우는 것처럼 진행해보고자 합니다. 재귀 함수를 통해서 해당 칸에 들어갈 수 있..
-
[백준] 5373번 : 큐빙 - 자바(JAVA)알고리즘/백준 2022. 5. 19. 00:01
https://www.acmicpc.net/problem/5373 5373번: 큐빙 각 테스트 케이스에 대해서 큐브를 모두 돌린 후의 윗 면의 색상을 출력한다. 첫 번째 줄에는 뒷 면과 접하는 칸의 색을 출력하고, 두 번째, 세 번째 줄은 순서대로 출력하면 된다. 흰색은 w, 노란 www.acmicpc.net 문제 해석 큐브는 3 x 3 x 3개의 작은 정육면체로 이루어져 있습니다. 퍼즐을 풀려면 각 면에 있는 아홉 개의 작은 정육면체의 색이 동일해야 합니다. 큐브는 각 면을 양방향으로 90도 만큼 돌릴 수 있도록 만들어져 있습니다. 이 문제에서는 큐브가 모두 풀린 상태에서 시작합니다. 윗면은 흰색, 아랫면은 노란색, 앞면은 빨간색, 뒷면은 오렌지색, 왼쪽면은 초록색, 오른쪽 면을 파란색입니다. 큐브를 ..