Algorithm/백준

Algorithm/백준

백준 2468번 : 안전영역(Java)

https://www.acmicpc.net/problem/2468 2468번: 안전 영역 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 www.acmicpc.net [풀이] 완전 탐색 유형의 문제입니다. 높이는 1이상 100이하의 정수이므로 for문으로 copyArr에 높이 이하일경우 0, 초과일 경우 1을 입력합니다. copyArr에 매번 넣을 때마다, 방문하지 않은 곳과 안전한 영역을 체크하며 solve() 메소드를 호출합니다. solve() 메소드는 dfs를 이용한 메소드입니다. 영역의 개수를 셀 때, solve() 메소드가 호출된 개수가 곧 영역의 개수입니다..

Algorithm/백준

백준 10819번 : 차이를 최대로(Java)

https://www.acmicpc.net/problem/10819 10819번: 차이를 최대로 첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다. www.acmicpc.net [풀이] 브루트포스 유형의 문제입니다. boolean 배열인 visited 변수를 이용해서 재귀적으로 탐색합니다. 탐색할 때 새로운 배열을 newArr변수에 담으면서 진행합니다. depth 변수가 N과 같아질 때 새로운 배열인 newArr에 담겨져있는 값들을 이용해 최대값을 구합니다. [코드] import java.io.BufferedReader; import java.io.IOException; import ..

Algorithm/백준

백준 1002번 : 터렛 (Java)

https://www.acmicpc.net/problem/1002 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acmicpc.net [풀이] 거리를 구하는 공식 및 두 원이 서로 접하는 경우를 구분하여 푸는 문제였습니다. 반지름이 r1인 원과 r2인 원의 접점의 개수를 찾아야 한다. 두 원의 중심이 같고 반지름도 같을 경우 -> 무한 두 점 사이의 거리가 두 반지름의 합보다 큰 경우 -> 0 한 원이 다른 원 안에 있을 때 안에 있는 원의 반지름이 밖에 있는 원보다 반지름이 작을 경우 -> 0 두 원이 내접하는 경우 -> 1 두 원이 외접하는 경우 -> 1 [코드] import ..

Algorithm/백준

백준 16198번 : 에너지 모으기 (Java)

https://www.acmicpc.net/problem/16198 16198번: 에너지 모으기 N개의 에너지 구슬이 일렬로 놓여져 있고, 에너지 구슬을 이용해서 에너지를 모으려고 한다. i번째 에너지 구슬의 무게는 Wi이고, 에너지를 모으는 방법은 다음과 같으며, 반복해서 사용할 수 있 www.acmicpc.net [풀이] 브루트 포스 유형의 문제였습니다. 값을 삽입 / 삭제가 자유롭게 되야하므로 ArrayList를 전역변수로 선언하여 사용했습니다. i번째 값을 제거하고, 모은 에너지를 다시 i번째 인덱스에 넣어 재귀함수를 구현합니다. 이러한 과정을 DFS 방식을 이용해서 구하면 풀 수 있습니다. [코드] import java.io.BufferedReader; import java.io.IOExcept..

Algorithm/백준

백준 10026번 : 적록색약 (Java)

https://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net [풀이] DFS 유형의 문제였습니다. DFS를 적록색약인 경우와 적록색약이 아닌 경우를 구분해서 메인 메소드에서 구현합니다. 처음에는, 아닌 경우이므로 일반적인 DFS 형식으로 구현하고 이후, visited 2차원 배열은 초기화 및 색깔에 대한 조건을 추가해서 영역의 개수를 세야 합니다. [추가] Arrays.fill() 메소드를 사용하였는데 java.lang.ArrayStoreExcept..

Algorithm/백준

백준 2002번 : 추월 (Java)

https://www.acmicpc.net/problem/2002 2002번: 추월 입력은 총 2N+1개의 줄로 이루어져 있다. 첫 줄에는 차의 대수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 대근이가 적은 차량 번호 목록이 주어지고, N+2째 줄부터 N개의 줄에는 영식이 www.acmicpc.net [풀이] 해시맵과 관련한 자료구조 유형의 문제였습니다. 첫번째 N개의 차를 HashMap 자료구조를 이용해서 순서를 저장합니다. 다음 N개의 차를 입력받으면서 앞서 map 변수에 저장했던 value값을 배열에 저장합니다. 이후, 배열을 앞에서부터 하나씩 확인하며 앞이 더 큰수가 존재하는지 확인합니다. 만약, 더 큰수가 앞에 존재한다면, answer 변수에 1을 더한 후 break문..

skyey94
'Algorithm/백준' 카테고리의 글 목록 (8 Page)