본문 바로가기
반응형

백준24

백준 15552번 빠른 A+B 자바 java 문제 풀이 시간제한이 있어서 주로 사용하던 Scanner와 출력하는 방식으로는 시간 초과가 돼버려서 입력 클래스인 scanner 대신 BufferedReader를 사용하고 String 문자열을 만들 때 바로 출력하는 대신에 StringBuilder로 한꺼번에 문자열을 만들고 마지막에 BufferedWriter 클래스를 이용해서 출력하는 것으로 해결을 하였다 코드 import java.io.*; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(S.. 2021. 4. 11.
백준 1110번 더하기 사이클 자바 java 문제 풀이 1 ~ 9까지 1글자인 숫자는 1 -> 11, 2 -> 22, 3 -> 33 .. 9 -> 99 와 같이 11을 곱하는 것으로 처리를 하였고 각 자리수를 더하기 = (10의 자릿수는 10을 나눈 값) + (1의 자릿수는 10으로 나눈 나머지 값) 새로운 수 = (주어진 수를 10으로 나눈 나머지 값에서 * 10) + (각 자릿수 더한 값을 10으로 나눈 나머지 값) count를 세면서 새로운 수가 N값과 같으면 while을 탈출하고 count를 출력하게끔 해서 해결하였다 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in);.. 2021. 4. 10.
백준 1436번 영화감독 숌 자바 java 문제 풀이 연속적으로 666을 포함하는 숫자 중에 작은 숫자가 차례대로 나와야 한다 666 → 1666 → 2666 → 3666 → 4666 → 5666 → 6666 이 아닌 6660 → 6661 → 6662 가 되어야 한다 while문으로 666부터 1씩 더하면서 contains 함수로 666이 포함이 되면 count를 추가하는 방식으로 해결하였다 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int count = 0; int num = 666; while (count < N) { if.. 2021. 4. 10.
백준 1018번 체스판 다시 칠하기 자바 java 문제 풀이 입력한 보드와 8 * 8 체스판 2개와 비교 (BWBWBWBW 시작하는 것, WBWBWBWB 시작하는 것)를 해서 최솟값을 출력해서 풀었다 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int M = sc.nextInt(); String[] board = new String[N]; int min = 64; int count; sc.nextLine(); for (int i = 0; i < N; i++) { board[i] = sc.nextLine(); } //8 * 8 잘라서 최.. 2021. 4. 9.
백준 7568번 덩치 자바 java 문제 풀이 2중 for문으로 모든 경우의 수를 비교해서 덩치가 더 큰 경우에 카운트를 올려서 해결하였다 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int[] x = new int[N]; int[] y = new int[N]; int[] grade = new int[N]; for (int i = 0; i < N; i++) { x[i] = sc.nextInt(); y[i] = sc.nextInt(); } for (int i = 0; i < N - 1; i++) { for (int j = .. 2021. 4. 9.
백준 2798번 블랙잭 자바 java 문제 풀이 3중 for문으로 3개의 카드의 합을 구한다 카드의 합과 M값이 같다면 바로 리턴 카드의 합이 M값을 넘어간다면 넘어가고 카드의 합이 M값에 가까운 것을 비교해서 리턴해주는 것으로 해결하였다 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int M = sc.nextInt(); int[] card = new int[N]; for (int i = 0; i < N; i++) { card[i] = sc.nextInt(); } System.out.println(blackJack(card.. 2021. 4. 8.
반응형