본문 바로가기

구름톤20

[구름톤 챌린지, Java] 14일차, 작은 노드(BFS) 문제 링크 구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io 접근 방법 이 문제에 핵심 1. N개의 노드와 M개의 양방향 간선으로 이루어진 그래프가 존재합니다. 2. 양끝이 동일한 간선은 주어지지 않습니다. 3. 플레이어는 K번 노드에 있으며, 한 번 방문한 노드는 다시 방문할 수 없습니다. 4. 플레이어가 간선을 통해 노드를 방문할 때 인접한 가장 작은 노드를 접근합니다. 5. 플레이거가 방문하는 노드의 개수와 마지막으로 방문하는 노드를 결과로 출력합니다. 알고리즘 진행 순서. 1. 입력된 정보를 저장합니다. 2. 시작 노드 K를 기준으로 조건에 맞는 BFS을 방문하는 노드를 탐색합니다. 3. 탐색이 끝났을 때 방문한 노드와 마지막 노드를 .. 2023. 8. 31.
[구름톤 챌린지, Java] 13일차, 발전기(2)(BFS) 문제 링크 구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io 접근 방법 이 문제에 핵심 1. N길이의 정사각형 모양의 마을이 존재합니다. 2. 마을에 집에는 유형이 존재하며, 각 유형은 숫자로 구분합니다. 3. 발전기는 단 하나를 설치할 수 있으며, 상하좌우 인접한 집이 전력을 받고 있으면 해당 집도 전력을 받을 수 있습니다. 4. 단지는 상하좌우 인접한 같은 유형의 집 개수가 K보다 큰 집의 그룹입니다. 5. 단지가 가장 많은 집의 유형을 결과로 출력합니다. 6. 단지의 개수가 같으면 집의 유형 숫자가 더 큰 값을 결과로 출력합니다. 알고리즘 진행 순서. 1. 입력된 정보를 저장합니다. 2. 각 집에서 BFS탐색을 통해 각 유형 단지의 개수.. 2023. 8. 30.
[구름톤 챌린지, Java] 12일차, 발전기(BFS) 문제 링크 구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io 접근 방법 이 문제에 핵심 1. N길이의 정사각형 모양의 마을이 존재합니다. 2. 마을에는 0과 1이 존재하며 0은 빈 집, 1은 집이 존재한다는 뜻입니다. 3. 각 집에는 발전기를 설치할 수 있으며, 상하좌우 인접한 집이 전력을 받고 있으면 해당 집도 전력을 받을 수 있습니다. 4. 모든 집이 전력을 공급받을 수 있는 발전기 설치 최소 개수를 결과로 출력합니다. 알고리즘 진행 순서. 1. 입력된 정보를 저장합니다. 2. 각 집에서 BFS탐색을 통해 그룹의 개수를 구합니다. 3. 그룹의 개수는 최소 발전기의 개수이므로 결과로 출력합니다. 구현 각 그룹에 속하지 않는 집을 기준으로 B.. 2023. 8. 29.
[구름톤 챌린지, Java] 11일차, 통증(2)(BFS) 문제 링크 구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io 접근 방법 이 문제에 핵심 1. 통증 수치가 존재하며, 통증 수치를 감소하는 2개의 도구가 주어집니다. 2. 2개의 도구는 각각 통증 수치를 감소하는 양이 다릅니다. 3. 통증 수치가 0이 될 때 도구를 최소로 사용하는 개수를 결과로 출력합니다. 4. 통증 수치가 0미만으로 내려가면 해당 도구는 사용할 수 없습니다. 5. 통증 수치를 0으로 만들 수 없다면 -1을 결과로 출력합니다. 알고리즘 진행 순서. 1. 입력된 정보를 저장합니다. 2. N부터 시작해서 통증 수치를 줄어드는 과정을 BFS탐색으로 탐색합니다. 3. 통증 수치가 0에 도달할 때 최소로 사용한 도구의 개수를 결과로 출.. 2023. 8. 28.
[구름톤 챌린지, Java] 10일차, GameJam(완전탐색) 문제 링크 구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io 접근 방법 이 문제에 핵심 1. N × N의 격자 보드 각 칸에는 지시가 저장되어 있습니다. 2. 게임의 점수는 방문한 칸의 개수입니다. 3. 게임은 한 번 방문했었던 칸에 다시 방문할 때 종료합니다. 4. 이동 중 보드 바깥에 나가게 되면 반대쪽 첫 번째 칸으로 이동합니다. 5. 플레이어와 구름의 게임 점수를 통한 결과를 출력합니다. 알고리즘 진행 순서. 1. 입력된 정보를 저장합니다. 2. 구름과 플레이어의 게임을 진행하여 점수를 계산합니다. 3. 게임을 통해 얻은 점수를 기반으로 이긴 사람과 점수를 결과로 출력합니다. 구현 상하좌우 이동 U(-1, 0) L(0, -1) 폭탄 R.. 2023. 8. 26.
[구름톤 챌린지, Java] 9일차, 폭탄 구현하기(완전탐색) 문제 링크 구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io 접근 방법 이 문제에 핵심 1. 폭탄은 상하좌우 인접한 칸에 영향을 끼칩니다. 2. 폭탄의 영향받은 칸이 '0'이면 +1, '@'이면 +2로 폭탄값을 변화시킵니다. 3. 주어진 폭탄을 다 터트렸을 때 최대 폭탄값을 결과로 출력합니다. 알고리즘 진행 순서. 1. 입력된 정보를 저장합니다. 2. 모든 폭탄을 터트린 뒤 폭탄의 최대값을 탐색합니다. 3. 탐색을 통해 얻은 최대 폭탄값을 결과로 출력합니다. 구현 폭탄을 터트릴 때 상하좌우 인접값 (-1, 0) (0, -1) 폭탄 (0, 1) (1, 0) dr[] : {-1, 1, 0, 0} , 상하좌우 y 변경 값 dc[] : {0, 0, .. 2023. 8. 25.