본문 바로가기

전체 글1317

[백준] 10610 30 - Greedy / Java • 문제 링크 10610번: 30 어느 날, 미르코는 우연히 길거리에서 양수 N을 보았다. 미르코는 30이란 수를 존경하기 때문에, 그는 길거리에서 찾은 수에 포함된 숫자들을 섞어 30의 배수가 되는 가장 큰 수를 만들고 싶어한 www.acmicpc.net • 풀이 과정 • 풀이 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class Main { public static void main(String[] args) throws IOException {.. 2022. 5. 24.
[알고리즘] 완전 탐색 (Exhaustive Search) • 완전 탐색 (Exhaustive Search) 이란? 컴퓨터의 빠른 연산 능력을 활용하여 가능한 모든 경우의 수를 일일히 대입하여 해를 찾는 방법. 무차별 대입하여 탐색한다는 의미로써 Brute force search 로 명칭하기도 한다. 이는 효율을 중시하기보단 정확성을 중시하는 문제 해결 기법으로써 입력의 수에 따라 시간복잡도가 기하급수적으로 증가하기 때문에 그 수가 적은 문제에 활용하기 적합하다. • 완전 탐색의 종류 1. Brute Force 단순히 반복문이나 조건문을 다중으로 사용하여 처음부터 끝까지 모든 경우의 수를 구하는 기법. 이는 주로 기초적인 문제나 전체 문제 풀이의 일부분에 활용된다. 예시로 배열의 요소의 수 만큼의 중첩 for 문을 사용하여 요소의 모든 순열을 찾을 수 있다. i.. 2022. 5. 23.
[백준] 1018 체스판 다시 칠하기 - Brute Force / Java • 문제 링크 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net • 풀이 과정 • 풀이 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.StringTokenizer; public class Main { static boolean[][] .. 2022. 5. 23.
[백준] 1476 날짜 계산 - Brute Force / Java • 문제 링크 1476번: 날짜 계산 준규가 사는 나라는 우리가 사용하는 연도와 다른 방식을 이용한다. 준규가 사는 나라에서는 수 3개를 이용해서 연도를 나타낸다. 각각의 수는 지구, 태양, 그리고 달을 나타낸다. 지구를 나타 www.acmicpc.net • 풀이 과정 • 풀이 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.StringTokenizer; public class Main { public static void main(St.. 2022. 5. 21.
[백준] 10448 유레카 이론 - Brute Force / Java • 문제 링크 10448번: 유레카 이론 프로그램은 표준입력을 사용한다. 테스트케이스의 개수는 입력의 첫 번째 줄에 주어진다. 각 테스트케이스는 한 줄에 자연수 K (3 ≤ K ≤ 1,000)가 하나씩 포함되어있는 T개의 라인으로 구성되어 www.acmicpc.net • 풀이 과정 • 풀이 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class Main { static int[] tri; public static void main(String[] ar.. 2022. 5. 20.
[백준] 2309 일곱 난쟁이 - Brute Force / Java • 문제 링크 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net • 풀이 과정 • 풀이 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.Arrays; public class Main { public static void main(String[] args.. 2022. 5. 19.