728x90
+) 풀이 코드
https://github.com/jung0115/CodingTestPractice.git
+) 백준에 Java 코드를 제출할 때는 class명을 Main으로 해주어야 오류가 발생하지 않는다.
2798번 - 2022.01.11.화
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int N, M;
int[] card_number;
Scanner scan = new Scanner(System.in);
N = scan.nextInt();
M = scan.nextInt();
card_number = new int[N];
for(int i = 0; i < N; i++)
card_number[i] = scan.nextInt();
scan.close();
int sum, answer = 0;
for(int i = 0; i < N-2; i++){
for(int j = i+1; j < N-1; j++){
for(int k = j+1; k < N; k++){
sum = card_number[i] + card_number[j] + card_number[k];
if(sum <= M && sum > answer) answer = sum;
}
}
}
System.out.println(answer);
}
}
2231번 - 2022.01.11.화
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int N;
Scanner scan = new Scanner(System.in);
N = scan.nextInt();
scan.close();
int sum, num, i;
for(i = 1; i <= N; i++) {
sum = i;
num = i;
while(num != 0) {
sum += num%10;
num /= 10;
}
if(sum == N) break;
}
if(i == (N+1)) System.out.println(0);
else System.out.println(i);
}
}
7568번 - 2022.01.13.목
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int N;
int[] x, y;
Scanner scan = new Scanner(System.in);
N = scan.nextInt();
x = new int[N];
y = new int[N];
for(int i = 0; i < N; i++){
x[i] = scan.nextInt();
y[i] = scan.nextInt();
}
scan.close();
int[] lank = new int[N];
for(int i = 0; i < N; i++) {
lank[i] = 1;
for(int j = 0; j < N; j++) {
if(x[i] < x[j] && y[i] < y[j])
lank[i]++;
}
}
for(int i = 0; i < N; i++)
System.out.print(lank[i] + " ");
}
}
1018번 - 2022.01.13.목
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int N, M;
String[][] chess;
Scanner scan = new Scanner(System.in);
N = scan.nextInt();
M = scan.nextInt();
chess = new String[N][M];
String input = new String();
for(int i = 0; i < N; i++) {
input = scan.next(); //문자열 한 줄로 입력 받음
chess[i] = input.split(""); //배열에 문자 한 글자씩 저장
}
scan.close();
int min = N*M, check;
for(int i = 0; i < N-7; i++) {
for(int j = 0; j < M-7; j++) {
check = checkMin(i, j, chess);
if(min > check) min = check;
}
}
System.out.println(min);
}
static int checkMin(int startI, int startJ, String[][] chess) {
int startWhite = 0, startBlack = 0;
String checkWhite;
for(int i = startI; i < startI+8; i++) {
if(i%2 == 0) checkWhite = "W";
else checkWhite = "B";
for(int j = startJ; j < startJ+8; j++) {
if(checkWhite.equals(chess[i][j])) startBlack++;
else startWhite++;
if(checkWhite.equals("B")) checkWhite = "W";
else checkWhite = "B";
}
}
if(startWhite < startBlack) return startWhite;
else return startBlack;
}
}
1436번 - 2022.01.14.금
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int N;
Scanner scan = new Scanner(System.in);
N = scan.nextInt();
scan.close();
int num = 666, cnt = 1;
while(N != cnt) {
num++;
if(checkEndNumber(num)) cnt++;
}
System.out.println(num);
}
static boolean checkEndNumber(int num) {
int cnt = 0;
while(num > 0){
if(num%10 == 6) cnt++;
else cnt = 0;
num /= 10;
if(cnt == 3) return true;
}
return false;
}
}
더 효율적인 방법이 있을까 싶어서 열심히 머리를 굴려봤지만... 이게 최선인 것 같다.
728x90
'Programming > JAVA' 카테고리의 다른 글
[Java] BufferedReader로 입력 받기 (0) | 2022.01.21 |
---|---|
[백준] 단계별로 풀어보기 > 정렬 (java) (0) | 2022.01.14 |
[백준] 단계별로 풀어보기 > 재귀 (Java) (0) | 2022.01.09 |
[백준] 단계별로 풀어보기 > 기본 수학2 (Java) (0) | 2021.12.29 |
[Java] vscode에서 java 프로그래밍 하기 (0) | 2021.12.29 |