brute force11 [백준] 18312번: 시각 (Java) 1. 문제설명00시 00분 00초부터 N시 59분 59초까지 모든 시각 중에서 K가 하나라도 포함되는 시간들의 수를 구하는 문제이다.시간 제한: 1초메모리 제한: 256MB 2. 접근 방식⇒ 완전탐색을 사용하여 N시 59분 59초까지 모든 시간을 고려한다.3중 for문을 사용해 N시 59분 59초까지 모든 시간의 경우의 수를 고려한다.모든 시간의 각 자리수에 3이 있으면 count를 증가시킨다. 3. 최종 코드import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader.. 2024. 8. 7. [백준] 15721번: 번데기 (Java) 1. 문제설명n-1 회차일 때 ‘뻔 – 데기 – 뻔 – 데기 – 뻔(x n번) – 데기(x n번)’ 문장으로 진행되는 번데기 게임이 있다.플레이어는 원을 반시계 방향으로 돌아 계속 진행할 수 있다.T번째로 ‘뻔’ 또는 ‘데기’를 외치는 사람이 원에서 몇 번째 사람인지 구하는 문제이다.시간 제한: 1초메모리 제한: 128MB 2. 접근 방식무한 루프(while)를 사용해 게임을 진행한다.각 라운드마다 "뻔 – 데기 – 뻔 – 데기" 패턴을 먼저 처리한다.다음으로 “뻔”을 `round+1` 번, “데기”를 `round+1` 번 반복한다.매번 “뻔” 또는 “데기”의 `count`를 증가시키고, T번째 발생을 체크한다.원형으로 앉은 것을 고려해 사람 번호를 `person % A` 로 계산한다. 3. 틀린 이유 .. 2024. 8. 6. [백준] 2231번: 분해합 (Java) 1. 문제설명어떤 자연수 M이 있을 때 M과 M을 이루는 각 자리수의 합을 분해합 N이라고 한다. M은 N의 생성자라고 한다. 자연수 M이 주어졌을 때, N의 가장 작은 생성자를 구하는 문제이다.시간 제한: 2초메모리 제한: 192MB 2. 접근 방식=> 완전탐색을 이용해 1부터 시작하여 N의 가장 작은 생성자를 찾는다.while 문을 이용해 1부터 분해합(`sum`)을 구한다.첫 번째 while 문 종료 조건:`sum`이 N이면 `result`에 해당 숫자를 저장하고 종료해당 숫자가 N이 되면 종료 (생성자를 찾을 수 없기 때문에 `result`는 0이 됨) 3. 최종 코드import java.io.*;public class Main { public static void main(String[] .. 2024. 8. 6. [백준] 2798번: 블랙잭 (Java) 1. 문제설명변형된 블랙책 규칙(양의 정수가 쓰여 있는 N장의 카드가 있을 때 플레이어는 N장의 카드 중에서 3장을 골라 이 카드의 합이 M을 넘지 않으면서 M과 최대한 가깝게 만들어야 한다.)으로 N장의 카드에 써져 있는 숫자가 주어졌을 때, 조건을 만족하는 카드 3장의 합을 구하는 문제이다.시간 제한: 1초메모리 제한: 128MB 2. 접근 방식⇒ 완전탐색을 이용하여 모든 경우의 카드 3장의 합을 구한다.카드를 배열에 저장하고, 3중 for문을 이용하여 모든 경우의 카드 3장의 합을 구한다.카드 3장의 합을 구할 때 M을 넘지 않으면서 M에 최대한 가까운 값을 저장한다. 3. 최종 코드import java.io.*;import java.util.*;public class Main { public.. 2024. 8. 6. 이전 1 2 다음 반응형