
백준 - 빗물 14719
2023. 2. 5. 21:44
알고리즘(BOJ)/Gold
문제 분석 문제 이해도 쉽고 풀이과정을 생각하는게 재밌는 문제였다. 첫열과 마지막열에는 빗물이 찰 수 없으니 넘겨주고 두번째 열부터 왼쪽과 오른쪽에 자신보다 큰 벽이 있는지 확인했다. 일부러 2차배열을 선언하지 않고 풀려고 노력했다. 전체소스 import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine(), " "); int x = In..

백준 - 행렬 1080
2023. 2. 3. 21:37
알고리즘(BOJ)/Silver
문제 분석 0,0 좌표부터 비교해보면서 다르다면 3x3 영역을 바꿔주었다. 전체소스 package test; import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine(), " "); int x = Integer.parseInt(st.nextToken()); int y = Integer.parseInt(st.nextToken()); i..

백준 - 신기한 소수 2023
2023. 2. 3. 17:26
알고리즘(BOJ)/Gold
문제 분석 한자리 소수는 2,3,5,7 이 있다. 맨 앞자리에 올 수 있는수도 이것 뿐이다. 4개의 경우에만 재귀를 호출하도록 했다. 재귀는 1~9까지 한자리씩 붙여가며 소수인지 판단했다. 소수인지 판단은 처음에는 1과 자기자신의 수가 오기전까지 나눠지는 수가 있는지 했는데, 제곱근으로 시간을 단축시킬 수 있다고 하여 Math.sqrt를 사용했다. 전체소스 package test; import java.util.*; import java.io.*; public class Main { static int size; public static boolean check(int input) { for(int i=2; i

백준 - 팔 1105
2023. 1. 31. 20:38
알고리즘(BOJ)/Silver
문제분석 L과 R이 자리수가 다르다면 8이 나올수가 없다. 자리수가 같을 때만 체크해주면 된다. 왼쪽부터 한개씩 끊어서 숫자가 같은지 체크해 줬다. 전체소스 import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine(), " "); String L = st.nextToken(); String R = st.nextToken(); int ..

비트 연산자(<<, >>, &, | ...)
2023. 1. 19. 00:25
Java/0. 기본
비트연산자 비트 연산자란 10진수의 수를 32비트로 쪼갠다음 8진수로 표현한다. 8 -> 00000000 00000000 00000000 00001000 12 -> 00000000 00000000 00000000 00001100 연산식은 비트를 좌/우 로 움직인다. 오른쪽(>>)으로 옮길때, 최상위의 부호비트와 같은 값으로 채운다는 뜻은 마이너스(-) 일경우 결과값도 마이너스로 나온다. 연산식 설명 x > y 정수 x의 각 비트를 y만큼 오른쪽으로 이동시킵니다. (빈자리는 정수 a의 최상위 부호비트와 같은 값으로 채워집니다. x >>> y 정수 x의 각 비트를 y만큼 오른쪽으로 이동시킵니다. (빈자리는 0으로 채워집니다.) 864 비트 논리 연산자(&, |, ^, ~) 연산자 논리 설명 & AND 두 비..

2606-바이러스(BFS)
2022. 12. 19. 23:42
알고리즘(BOJ)/Silver
package test; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; //백준 public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int computer = sc.nextInt(); int line = sc.nextInt(); if (computer>0 &&computer

1697 - 숨바꼭질 (BFS)
2022. 12. 12. 15:39
알고리즘(BOJ)/Silver
import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; //백준 public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int subin = sc.nextInt(); int dong = sc.nextInt(); int[] visited = new int[2000001]; Queue q = new LinkedList(); // 시작노드 q.offer(subin); int a = 0; while (!q.isEmpty()) { a = q.poll(); if (a == dong) { System.out.pri..

Print
2022. 11. 28. 12:38
Java/0. 기본
서식 서식 지정자 %d 정수형 문자 %f 실수형 문자 %s 문자열 %c char %o 8진 정수 %x 16진 정수 %% 퍼센트 %n 개행문자 서식 상세표현 정수 %d 정수 그대로 출력 %6d 자릿수가 6보다 작으면 왼쪽부터 공백 %-6d 자릿수가 6보다 작으면 오른쪽부터 공백 %06d 자릿수가 6보다 작으면 왼쪽부터 0을 채운다 문자열 %s 문자열 그대로 출력 %6s 자릿수가 6보다 작으면 왼쪽부터 공백 %-6s 자릿수가 6보다 작으면 오른쪽부터 공백 %1.2s 문자열을 최대 2자리 까지만 출력한다. (정수도 자르고 싶을땐 문자열로 바꿔야한다.) 부동 소수점 %f 숫자 그대로 출력 %6f 자릿수가 6보다 작으면 왼쪽부터 공백 %.8F 소수점 자릿수가 8보다 작으면 오른쪽에 0을 채운다 %9.4f 전체 자..