본문 바로가기

Algorithm & SQL/BAEKJOON120

백준 JAVA 11866 요세푸스 문제0 package BAEKJOON.Silver.Ⅴ; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class NO11866 { public static void main(String[] args) { StringBuilder sb = new StringBuilder(); Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int k = sc.nextInt(); Queue queue = new LinkedList(); for (int i = 1; i 2022. 7. 21.
백준 JAVA 1026 보물 package BAEKJOON; import java.util.Arrays; import java.util.Scanner; public class NO1026 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] aArr = new int[n]; int[] bArr = new int[n]; int answer = 0; for (int i = 0; i < n; i++) { aArr[i] = sc.nextInt(); } for (int i = 0; i < n; i++) { bArr[i] = sc.nextInt(); } Arrays.sort(aArr); // 내림차순정렬 .. 2022. 7. 19.
백준 JAVA 9012 괄호 package BAEKJOON; import java.util.Scanner; import java.util.Stack; public class NO9012 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); for (int i = 0; i < n; i++) { Stack st = new Stack(); String str = sc.next(); for (int j = 0; j < str.length(); j++) { if (str.charAt(j) == '(') { st.push(str.charAt(j)); } else { if (st.empty()) { st.push(st.. 2022. 7. 19.
백준 JAVA 1065 한수 주어진 숫자를 문자열로 바꿔서 다시 배열로 바꾼 후, 다시 숫자로 바꾸어 등차수열이 되는지 비교하는 문제이다. 예제를 보았을 때 1~99까지는 모두 등차수열로 보고 있다고 가정하고 접근했다. package BAEKJOON; import java.util.Scanner; public class NO1065 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int answer = 0; for (int i = 1; i 2022. 7. 19.
백준 JAVA 1920 수 찾기 이진탐색을 이용하여 푸는 문제이다. 이론과 그림으로만 봤는데, 실제로 풀어보니 처음에는 쉽지 않았지만, 한번 코드를 작성해보니 감을 잡을 수 있었다. 간단히 설명하면 사진과 같다. 찾는 값에 따라 전체를 탐색하지 않고 절반을 나누어 탐색해 나가는 방법이다. package BAEKJOON; import java.util.Arrays; import java.util.Scanner; public class NO1920_3 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] aArr = new int[n]; for (int i = 0; i < n; i++) { aArr[i.. 2022. 7. 17.
백준 JAVA 2163 초콜릿 자르기 package BAEKJOON; import java.util.Scanner; public class NO2163 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int m = sc.nextInt(); System.out.println(n*m-1); } } 2022. 7. 16.
백준 JAVA 1929 소수 구하기 에라토스테네스의 체를 사용하는 문제이다. 어려워서 해당 알고리즘을 사용하는 다른문제랑 10번은 쳐봤더니 공식이 외워진거같다 물론 안쓰면 까먹겠지만, 가끔 체크하고 풀어봐야겠다. 반복문을 돌때, 제곱근으로 왜 해야하지 했는데, 다른 블로그를 보고 이해가 갔다. j 에서 i를 제곱으로 계산하고 쓰기 때문이였다. package BAEKJOON; import java.util.Scanner; public class NO1929_2 { public static void main(String[] args) { //에라토스테네스의 체를 이용하여 풀이 Scanner sc = new Scanner(System.in); int M = sc.nextInt(); int N = sc.nextInt(); boolean[] isP.. 2022. 7. 14.
백준 JAVA 4948 베르트랑 공준 일반 소수풀이로 하면 시간초과가 나오므로 에라토스테네스의 체를 이용해야한다. 이전에 한번 써가면서 기장기본적인 에라토스테네스를 이해했는데 비슷한 유형을 안풀다보니 까먹어서 다시한번 이해하는 계기가 되었다. 배열을 만들어주어서 초기화를 하면 전부 false 값이 들어간다. 2의 배수 3의 배수 등등 은 true 값으로 변경해주면 되고 마지막에 false값=소수 를 전부 세어주면된다. 해당 문제를 접하고 다른 풀이를 보았을때 이해가 잘 안되었는데, 귀찮더라도 그림을 직접 그려가면서 F(false), T(true) 로 바꿔가면서 하면 그나마 이해가 쉬울것 같다. 백준1929 문제도 에라토스테네스의 체 를 이용해야하는 문제이므로 추가적으로 풀어보는 것이 좋겠다. package BAEKJOON; import ja.. 2022. 7. 14.
백준 JAVA 2581 소수 예제입력 결과만 나온다고 제출하면 안되는 문제였다. ( 모든문제가 그렇지만 ) 한가지 예외는 자연수 1은 소수가 아니기 때문에 1이 포함될경우를 제외해주어야 한다. package BAEKJOON; import java.util.ArrayList; import java.util.Scanner; public class NO2581 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int M = sc.nextInt(); int N = sc.nextInt(); // 소수를 담기 위한 list 초기화 ArrayList list = new ArrayList(); int sum = 0; // 합계 for (int i = M; i 2022. 7. 13.