java 205

25305. 커트라인 (자바, Java)

counting 정렬을 미리 만들어놓고, 그걸 복붙하여 개량해서 풀었습니다. counting 정렬 관련은 다음 글을 참고하세요. https://mewtwo.tistory.com/121 import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str1 = br.readLine(); String str2 = br.readLine(); String[] arr1 = str1..

10989. 수 정렬하기 3 (자바, Java)

저번 문제의 교훈으로, sysout으로 반복출력했던걸 StringBuilder로 해결했습니다. import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Arrays; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); int[] arr = new int[n]; StringBuil..

2751. 수 정렬하기 2 (자바, Java)

처음에 arrays.sort를 썼지만 시간초과로 탈락. 이후 검색결과 collections.sort로 바꿨지만 역시나 시간초과. 문제는 sysout을 그대로 반복문에서 출력했기 때문이라고 생각, StringBuilder로 추가한뒤 한번에 출력하였다. sysout보다 빠른 BufferedWriter로 하는것도 괜찮았을수도? import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; public class Main { public static void main(String[] args) throws Exception { BufferedReader b..

2750. 수 정렬하기 (자바, Java)

정렬 첫 걸음. 단순한 버블정렬로 해결했습니다. 처음이니까, 효율보다는 성공 여부에 초점을 맞췄습니다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); //수의 개수 int[] arr = new int[n..

9020. 골드바흐의 추측 (자바, Java)

맞추는건 어렵지 않은데, 시간제한이 있습니다. 첫번쨰 시도, 이클립스에서는 성공했지만, 시간초과로 실패했습니다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; public class Main { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int t = Integer.parseInt(br.readLine(..

4948. 베르트랑 공준 (자바, Java)

베르트랑 공준이라고, 겁먹을게 전혀 없다. 우리가 증명같은걸 알 필요가 없고, 우리는 결과만 알면 된다. n과 2n사이의 소수의 개수 출력. 끝. 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)); while (true) { int n = Integer.parseInt(br.readLine()); int count = 0..

1929. 소수구하기 (자바, Java)

범위가 엄청 커졌다. 시간복잡도가 O(n^2)인 방법으로는 통과하기 어렵습니다. (시간초과) 이전에 배운 에라토스테네스의 체를 이용하면, 큰 문제없이 풀 수 있습니다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = ne..

11653. 소인수 분해 (자바, Java)

앞에서 신나게 시간복잡도니 뭐니 지지고 볶고 소수이론 새로 보고 하다가, 갑자기 너무나도 쉬워진 느낌이었습니다. 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 n = Integer.parseInt(br.readLine()); int temp = n; int i=2; while (temp != 1) { if (..

2581. 소수 (자바, Java)

앞 문제와 별로 다를건 없는데, 커다란 문제가 생깁니다. 바로 시간제약. 앞서 언급한 Brute-Force로는 해결이 안됩니다. 시간초과가 되버리기 때문. 저같은 경우, 자바로는 풀리지만 백준에선 제출하니 시간초과로 떠서, 찾아보고 개념공부를 한 뒤 다시 짰습니다. 우선 필요한 시간복잡도 개념. https://hanamon.kr/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-time-complexity-%EC%8B%9C%EA%B0%84-%EB%B3%B5%EC%9E%A1%EB%8F%84/ 기존의 방법 : N이하의 소수를 찾기 위해, N보다 작거나 같은 수 a를 2부터 a-1까지 각각 나눠본다. 나눠서 0이 나오는 수가 하나라도 있다면 소수. n까지를 n번 반복하므로, 시간복잡도는 O(n..

1978. 소수찾기 (자바, Java)

기본수학1을 끝내고, 기본수학2로 넘어왔습니다. 여기는 다 소수관련 문제입니다. 아직까지는 입문편이라서, 이중구문을 활용한 브루트-포스(키 전수조사, 무차별 대입) 을 이용하면 쉽게 해결할 수 있습니다. 반대로, 이후부터는 시간복잡도와 효율을 고려해야합니다. 따라서 추가적인 개념 공부가 필요합니다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new..