soo 문제집 완전탐색 easy 문제 52문제중 20문제를 풀었고, 그중 힌트를 참고한 문제 9개를 정리해서 학습 및 체득하려는 목적으로 작성했습니다.
| 문제 번호 | 제목 | 난이도 |
|---|---|---|
| 4690 | 완전 세제곱 | 브론즈 3 |
| 20410 | 추첨상 사수 대작전! (Easy) | 브론즈 3 |
| 2858 | 기숙사 바닥 | 브론즈 2 |
| 2966 | 찍기 | 브론즈 2 |
| 2160 | 그림 비교 | 브론즈 1 |
| 10448 | 유레카 이론 | 브론즈 1 |
| 18512 | 점프 점프 | 브론즈 1 |
| 17127 | 벚꽃이 정보섬에 피어난 이유 | 실버 5 |
| 2851 | 슈퍼 마리오 | 브론즈 1 |
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
for (int i = 2; i <= 100; i++) {
for (int j = 2; j <= 100; j++) {
for (int k = j+1; k <= 100; k++) {
for (int l = k+1; l <= 100; l++) {
if(Math.pow(i, 3) == Math.pow(j,3) + Math.pow(k,3) + Math.pow(l,3)){
bw.write("Cube = " + i +", Triple = ("+ j +","+k+","+l+")\n");
}
}
}
}
}
br.close();
bw.close();
}
}
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
int m = Integer.parseInt(st.nextToken());
int seed = Integer.parseInt(st.nextToken());
int x1 = Integer.parseInt(st.nextToken());
int x2 = Integer.parseInt(st.nextToken());
for (int i = 0; i < 100; i++) {
for (int j = 0; j < 100; j++) {
if(x1 == (i*seed + j)%m && x2 == (i*x1 + j)%m){
bw.write(i + " " + j);
br.close();
bw.close();
return;
}
}
}
br.close();
bw.close();
}
}
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
int r = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
for (int i = 1; i <= r; i++) {
for (int j = 1; j <= r; j++) {
if((j-2)*2 + i*2 == r && (i-2) * (j-2) == b){
bw.write(j +" " + i);
br.close();
bw.close();
return;
}
}
}
br.close();
bw.close();
}
}
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String[] sang = {"A","B","C"};
String[] chang = {"B","A","B","C"};
String[] hyun = {"C","C","A","A","B","B"};
int n = Integer.parseInt(br.readLine());
String[] answer = br.readLine().split("");
int[] ans = {0,0,0};
int max = 0;
for (int i = 0; i < n; i++) {
if(sang[i%3].equals(answer[i])){
ans[0]++;
}
if(chang[i%4].equals(answer[i])){
ans[1]++;
}
if(hyun[i%6].equals(answer[i])){
ans[2]++;
}
}
for (int i = 0; i < 3; i++) {
max = Math.max(max, ans[i]);
}
bw.write(max+"\n");
for (int i = 0; i < 3; i++) {
if(ans[i] == max && i==0) {
bw.write("Adrian\n");
}
if(ans[i] == max && i==1){
bw.write("Bruno\n");
}
if(ans[i] == max && i==2){
bw.write("Goran\n");
}
}
br.close();
bw.close();
}
}
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.parseInt(br.readLine());
int[][][] arr = new int[n][5][7];
for (int i = 0; i < n; i++) {
for (int j = 0; j < 5; j++) {
String[] input = br.readLine().split("");
for (int k = 0; k < 7; k++) {
if(input[k].equals(".")){
arr[i][j][k] = 0;
}else if(input[k].equals("X")){
arr[i][j][k] = 1;
}
}
}
}
int ans = Integer.MAX_VALUE;
int a = 0;
int b = 0;
for (int i = 0; i < n; i++) {
for (int j = i+1; j < n; j++) {
int count = 0;
for (int k = 0; k < 5; k++) {
for (int l = 0; l < 7; l++) {
if(arr[i][k][l] != arr[j][k][l]){
count++;
}
}
}
if(count < ans){
ans = count;
a = i+1;
b = j+1;
}
}
}
bw.write(a + " " + b);
br.close();
bw.close();
}
}
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int[] num = new int[45];
for (int i = 0; i < 45; i++) {
num[i] = (i+1)*(i+2)/2;
}
int T = Integer.parseInt(br.readLine());
for (int i = 0; i < T; i++) {
boolean isFind = false;
int k = Integer.parseInt(br.readLine());
for (int j = 0; j < 45; j++) {
for (int l = 0; l < 45; l++) {
for (int m = 0; m < 45; m++) {
if(num[j] + num[l] + num[m] == k){
isFind = true;
}
}
}
}
if(isFind){
bw.write("1\n");
}else{
bw.write("0\n");
}
}
br.close();
bw.close();
}
}
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
int x = Integer.parseInt(st.nextToken());
int y = Integer.parseInt(st.nextToken());
int p1 = Integer.parseInt(st.nextToken());
int p2 = Integer.parseInt(st.nextToken());
while(true){
if(p1 > p2){
p2 += y;
}else if(p1 < p2){
p1 += x;
}else{
bw.write(p1+"");
break;
}
if(p1 >= 10000 || p2 >= 10000){
bw.write("-1");
break;
}
}
br.close();
bw.close();
}
}
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.parseInt(br.readLine());
int[] arr = new int[n];
StringTokenizer st = new StringTokenizer(br.readLine());
for (int i = 0; i < n; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
int ans = 0;
int a = 1;
for (int i = 0; i < n-3; i++) {
a *= arr[i];
int b = 1;
for (int j = i+1; j < n - 2; j++) {
b *= arr[j];
int c = 1;
for (int k = j+1; k < n - 1; k++) {
c*= arr[k];
int d = 1;
for (int l = k+1; l < n; l++) {
d *= arr[l];
}
ans = Math.max(ans, a+b+c+d);
}
}
}
bw.write(ans+"");
br.close();
bw.close();
}
}
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int[] arr = new int[10];
for (int i = 0; i < 10; i++) {
arr[i] = Integer.parseInt(br.readLine());
if(i!= 0){
arr[i] += arr[i-1];
}
}
int sum = 0;
for (int i = 0; i < 10; i++) {
if(Math.abs(100 - arr[i]) <= Math.abs(100 - sum)){
sum = arr[i];
}
}
bw.write(sum+"");
br.close();
bw.close();
}
}