컴퓨터 공학99 [백준] JAVA 자바 : 소인수분해 (11653번) 소인수 분해하는 문제이다. 소수 판정만 한다면 쉽게 풀 수 있을 것이다. 나같은 경우는 2부터 돌면서 소수인 수에 한해서 그 수로 나눠진다면 StringBuilder에 그 수를 담은 후 마지막에 출력했다. 근데 이렇게 돌리니까 180ms가 나오는데… 순위권에 계신 분들은 보면 70~80ms 언저리시다… 보면서 공부 좀 해야겠네… import java.io.*; import java.util.Arrays; public class Factorization_11653 { public static int stoi(String str) { return Integer.parseInt(str); } public static void main(String[] args) throws IOException { Buffer.. 2024. 1. 22. [백준] JAVA 자바 : 진법 변환 (2745번) 앞에서 봤던 진법 변환 2가 10진수에서 B진수로 바꾸는 문제였다면, 이 문제는 B진수를 10진수로 바꾸는 문제이다. 사실 진법 변환을 잘 몰랐는데 이번에 문제들을 풀면서 잘 배워간다(…) 자릿수 별로 B의 자릿수 제곱을 곱한 값들을 다 더해주면 된다! 브론즈라 그런지 크게 어려운 부분은 없는 문제. import java.io.*; import java.util.StringTokenizer; public class RadixChange_2745 { public static int stoi(String str) { return Integer.parseInt(str); } public static void main(String[] args) throws IOException { BufferedReader b.. 2024. 1. 22. [백준] JAVA 자바 : 진법 변환 2 (11005번) 진법 변환하는 문제이다. 사실 10진수를 N진수로 변환하는 건 그냥 10진수 수를 N으로 계속해서 나눈 나머지를 반환하면 돼서 굉장히 쉬운 문제이다. import java.io.*; import java.util.StringTokenizer; public class RadixChange2_11005 { public static int stoi(String str) { return Integer.parseInt(str); } public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new St.. 2024. 1. 22. [백준] JAVA 자바 : 골드바흐 파티션 (17103번) 앞에서 배웠던 골드바흐의 추측을 조금 응용한 문제이다. 골드바흐의 추측에서는 두 소수를 출력했다면, 이제 모든 경우의 수를 돌면서 두 소수의 쌍이 나올 때마다 누적을 해서 출력해주면 된다. 실버2 치고는 굉장히 간단한 문제인 듯? import java.io.*; import java.util.Arrays; public class GoldbachPartition_17103 { static final int MAX = 1000000; static boolean[] n_list = new boolean[MAX + 1]; // 소수인지 아닌지를 담을 배열. true = 소수, false = 소수 아님 static StringBuilder sb = new StringBuilder(); public static i.. 2024. 1. 22. [백준] JAVA 자바 : 8진수 2진수 (1212번) 8진수가 주어졌을 때 2진수로 바꾸는 문제이다. 8진수를 2진수로 바꾸는 방법만 안다면 쉽게 해결할 수 있을 것이다! 8진수를 한 문자씩 끊어서 2진수로 변환한 다음 다 이어붙이면 된다! 사실 직전 문제인 2진수 8진수는 못 풀겠어서… 일단 이거부터 풀었다…ㅜㅜ import java.io.*; public class OctaltoBinary_1212 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); String N = br.readLine();.. 2024. 1. 22. [백준] JAVA 자바 : 숨바꼭질 6 (17087번) 수빈이의 현재 위치에서 동생들을 모두 찾을 수 있는 D의 최댓값을 구하는 문제이다. 사실 처음에는 되게 막막했는데… 예제 출력들의 공통된 패턴을 찾아본 결과, 동생들의 위치와 수빈이의 현재 위치의 차이(거리)의 최대공약수들 중 가장 작은 값이라는 점이었기에 그걸 구하면 된다. 사실 처음에는 동생들의 위치가 주어지면 그 중 가장 작은 값을 가지고 나머지 거리들과의 최대공약수를 구하려고 min을 선언했는데, 사실 굳이 그럴 필요가 없었다. 가장 작은 값이 아니라도 그냥 아무 거리나 잡고 그 값과 다른 거리들의 최대공약수 중 가장 작은 값을 구하기만 하면 됐다. 어차피 다 공통된 최대공약수를 구하는 것이기 때문에… import java.io.*; import java.util.StringTokenizer; p.. 2024. 1. 22. 이전 1 ··· 6 7 8 9 10 11 12 ··· 17 다음 반응형