분류 전체보기133 [코딩테스트/백준 알고리즘] 3085번 : 사탕 게임 (자바, Java 풀이) 문제 https://www.acmicpc.net/problem/3085 3085번: 사탕 게임 예제 3의 경우 4번 행의 Y와 C를 바꾸면 사탕 네 개를 먹을 수 있다. www.acmicpc.net 문제 설명 문제 풀이 이 문제를 풀면서 까다로웠던 것은 기준이 되는 칸의 위치에 따라 자리를 바꿀 수 있는 방법의 수가 달라진다는 것이다. 이 경우를 따로 처리해주기가 매우 번거롭기 때문에 이런 경우 쉽게 해결할 수 있는 방법을 소개하겠다. 게임 판(board)의 상하좌우로 테두리를 만들어주면 모든 경우에 대해 자리를 옮기는 방법을 4가지로 통일할 수 있다. 자료구조 int N = Integer.parseInt(br.readLine());//게임 판의 사이즈 char[][] board = new char[N .. 2022. 9. 3. [코딩테스트/알고리즘] 브루트 포스(Brute Force) 브루트 포스 브루트 포스는 가능한 모든 경우의 수를 다 시도해보면서 문제를 푸는 방식이다. 이때, 경우의 수를 모두 해보는데 걸리는 시간이 문제의 제한시간을 넘기지 않아야 한다. 예시) 숫자로만 이루어진 n자리 비밀번호 알아내기 비밀번호의 자리수 가능한 범위 경우의 수 입력 하나에 1초로 따진 소요시간 4자리 0000 ~ 9999 10000가지 10000초 = 약 2.7시간 5자리 00000 ~ 99999 100000가지 100000초 = 약 1일 3시간 6자리 000000 ~ 999999 1000000가지 1000000초 = 약 11일 12시간 12자리 000000000000 ~ 999999999999 1000000000000가지 1000000000000초 = 약 31688년 브루트 포스로 문제를 풀기.. 2022. 9. 2. [코딩테스트/백준 알고리즘] 2309번 : 일곱 난쟁이 (자바, Java 풀이) 문제 https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 문제 설명 문제 풀이 9명 중에 진짜 난쟁이 7명을 고르는 것보다 9명 중에 가짜 난쟁이 2명을 골라내는 것이 더 빠르게 문제를 해겱할 수 있는 방법이다. 때문에 9명의 키를 모두 합한 뒤 100을 빼서 그 차이를 만족하는 범인 두명을 찾는 방법을 사용했다. 코드 import java.util.*; class Main { public static void main(String[] args) { Sca.. 2022. 9. 2. [코딩테스트/백준 알고리즘] 16194번 : 카드 구매하기 2 (자바, Java 풀이) 문제 https://www.acmicpc.net/problem/16194 16194번: 카드 구매하기 2 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000) www.acmicpc.net 문제 설명 문제 풀이 2022.08.31 - [🧑💻코딩 테스트/백준 (BOJ)] - [코딩테스트/백준 알고리즘] 11052번 : 카드 구매하기 (자바, Java 풀이) 이 코드에서 삼항연산자 부등호 방향만 바꿔서 해결했다. 코드 import java.util.*; class Main { public static void main(String[] args) { Scanner sc = new Sc.. 2022. 8. 31. 이전 1 ··· 11 12 13 14 15 16 17 ··· 34 다음