백준 24

[백준 1100] 하얀 칸 JAVA

처음 작성한 코드 - 1차원 배열import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String[] s = new String[8]; int cnt = 0; for (int i = 0; i   코드가 너무 중복되는 것 같아 조금 바꿔본다.         처음 작성한 코드 간결화import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); ..

백준 2024.11.27

[백준 1008] A/B JAVA - BigDecimal 사용

기존 작성 코드import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); double a = sc.nextDouble(); double b = sc.nextDouble(); System.out.println(a/b); }}    예제 테스트입력1 3출력0.3333333333333333 정답 값은 소수점 아래 32개의 숫자가 나오지만, double형의 값 범위 때문에 16자리까지밖에 표현되지 않았다.           변경 코드import java.math.B..

백준 2024.11.18

[백준 1316] 그룹 단어 체커 JAVA - 데크(Deque) 사용

처음엔 어떻게 할까 고민하다가각 알파벳의 개수를 세서 2개 이상인 것만 체크해야 하나..? 생각했는데그건 너무 복잡할 것 같았다.  그러다 다시 생각해본 해결책은 바로 데크(Deque)를 사용하는 것 문자열 한 줄씩 그룹 단어인지 검사할건데그 줄 안의 알파벳을 charAt으로 한 개씩 가져온다. 가져온 알파벳이 데크에 있는지 확인.있으면 또 추가적으로 검사할건데데크의 마지막 알파벳과 현재 검사중인 알파벳이 같다면, 그룹으로 인정 다 돌았으면 통과로 인정하여 cnt 증가시킴    import java.util.ArrayDeque;import java.util.Deque;import java.util.Scanner;public class Main { public static void main(String[]..

백준 2024.11.08

[백준 7489] 팩토리얼 JAVA

기존에 작성한 코드import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int t = sc.nextInt(); int[] n = new int[t]; for (int i = 0; i  결과는 런타임 에러.. 이것저것 시도해보다 보니 int형보다 큰 숫자가 들어가서 그렇다고 한다.      새로 작성한 코드import java.math.BigInteger;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = ne..

백준 2024.11.07

[백준 11718] 그대로 출력하기 JAVA

EOF 정의EOF는 "End of File"의 약자로, 파일이나 데이터 스트림의 끝을 나타내는 특별한 마커입니다. 프로그래밍에서 EOF는 입력이 더 이상 없음을 의미합니다.        브론즈3 문제임에도 정답률이 34.6%로 현저히 낮은 문제이다.. 처음에는 split를 사용해서 개행(\n)으로 구분해봤는데 잘 되지 않음 좀 더 해보다가 결국 알아본 해결책  import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(sc.hasNextLine()) { String str = sc.nextLine(); System.out..

백준 2024.10.30

[백준 10809] 알파벳 찾기 JAVA

도대체 어떻게 풀지? 라는 생각으로 몇십분 가량 고민하다가... 에잇 모르겠다. 그냥 해보기로 하고 a to z를 전부 배열로 만들어버림..   처음에 작성한 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int[] arrI = new int[26]; for (int i = 0; i      결과는 어찌저..

백준 2024.10.29

[백준 2588] 곱셈, [2908] 상수 JAVA

두 문제는 푸는 과정이 비슷하여 같이 작성한다. 두 문제 모두 세 자리 수의 각각 백의 자리, 십의 자리, 일의 자리 숫자를 구해야 한다. [2588 곱셈] public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = 0; int a = 0; n = sc.nextInt(); a = sc.nextInt(); int b = a / 100;//100의 자리 int c = a % 100 / 10;//10의 자리 int d = a % 10;//1의 자리 System.out.println(n*d); System.out.println(n*c); System.out.println(n*b); ..

백준 2024.01.29

[백준 13241] 최소공배수 JAVA

첫 번째 정수 a는 b보다 작아야 한다. a가 1이라면 그냥 a와 b를 곱하면 된다. b가 a로 나누어 떨어진다면 그냥 b가 최소공배수이다. 그것이 아니라면, 작업을 수행해야 한다. d를 for문의 i처럼 활용하였다. 정수 b에 d를 곱해보면서, a와 나누어 떨어지는 수를 찾는 것이다. for문 보다는 while문을 사용하기에 적절하다. 무한루프 while문에서 최소공배수 c를 찾으면 탈출하게 된다. public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = 0;//첫 번째 정수 long b = 0;//두 번째 정수 long c = 0;//최소공배수 int d = 2;//i ..

백준 2024.01.25