본문 바로가기

Algorithm & SQL/BAEKJOON120

백준 JAVA 2839 설탕 배달 package BAEKJOON; import java.util.Scanner; public class NO2839_2 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int count = 0; // 봉지개수 while (N != 0) { if (N % 5 == 0) { count += N / 5; break; } else { N = N - 3; count++; } if(N < 0 ) { count = -1; break; } } System.out.println(count); } } 2022. 7. 13.
백준 JAVA 10757 큰 수 A+B BigInteger 이라는 것을 처음써봤다.. long 타입으로 했는데, 타입에러가 나서 블로그를 참고해서 풀었다. 연산할때도 + 는 불가능하고, add 메서드를 써야한다. package BAEKJOON; import java.math.BigInteger; import java.util.Scanner; public class NO10757 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); BigInteger a = sc.nextBigInteger(); BigInteger b = sc.nextBigInteger(); System.out.println(a.add(b)); } } 2022. 7. 12.
백준 JAVA 2775 부녀회장이 될테야 이중배열을 사용해서 공식을 찾아야한다. 먼저, 모든 층의 1호수는 모두 1명이고, 0층의 i 호수는 i명이므로 먼저 초기화를 진행한다. for (int i = 1; i 2022. 7. 12.
백준 JAVA 10250 ACM 호텔 package BAEKJOON; import java.util.Scanner; public class NO10250 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int t = sc.nextInt(); for (int i = 0; i < t; i++) { int h = sc.nextInt(); int w = sc.nextInt(); int n = sc.nextInt(); int x = n / h + 1; // 호수 int y = n % h; // 층수 if( n % h == 0 ) { x = n / h ; y = h; } System.out.println(y*100 + x); } } } 2022. 7. 12.
백준 JAVA 1712 손익분기점 카운트를 늘리는 형식으로 반복문을 사용하면 시간초과가 나는 문제였다. 공식을 구해서 방정식으로 풀이하는 문제이다. package BAEKJOON; import java.util.Scanner; public class NO1712 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int A = sc.nextInt(); int B = sc.nextInt(); int C = sc.nextInt(); long count = 0; if (B >= C) { count = -1; } else { count = A / (C - B) + 1; } System.out.println(count); } } 2022. 7. 12.
백준 JAVA 1789 수들의 합 예제를 보고 이해할 수 있는 문제였다. 합이 200이 되는데, 가장 큰 값이 19라면, 1~19까지 더한 값이였다. 따라서 1~ i 까지의 합이 s 보다 크거나 같아야한다. 크면 1~i 의범위에서 1개를 빼면 된다. package BAEKJOON; import java.util.Scanner; public class NO1789 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); long s = sc.nextLong(); // 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. long answer = 0; // S 에 도달할 값 long i = 0; // 최댓값을 구하는 변수 while(s.. 2022. 7. 11.
백준 JAVA 2869 달팽이는 올라가고 싶다 실버난이도로 올라오면서 수학에 관련된 문제들이 제법 많아지고 까다로워졌다. 공식을 세워야하며, 이해에 대한 난이도가 브론즈보다 훨씬 많이 올라갔다고 생각한다. 먼저, 낮 과 밤 따로 계산을해야한다. 예제 1번으로 예시를 들어 공식을 세워보면, 1일 째 낮 = 2 1일 째 밤 = 2 - 1 = 1 2일 째 낮 = 2 - 1 + 2 = 3 2일 째 밤 = 2 - 1 + 2 - 1 = 2 3일 째 낮 = 2 - 1 + 2 - 1 + 2 = 4 3일 째 밤 = 2 - 1 + 2 - 1 + 2 -1 = 3 4일 째 낮 = 2 - 1 + 2 - 1 + 2 -1 +2 = 5 (도착) 공식으로 보면 1일 째 낮 = A 1일 째 밤 = A - B = 1 2일 째 낮 = A - B + A = 3 2일 째 밤 = A - B.. 2022. 7. 11.
백준 JAVA 1037 약수 package BAEKJOON; import java.util.Arrays; import java.util.Scanner; public class NO1037 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int [] arr = new int[N]; // 약수를 담기 위한 배열 for (int i = 0; i < N; i++) { arr[i] = sc.nextInt(); } Arrays.sort(arr); // 최소 최대를 구하기 위해 정렬 int max = arr[N-1]; // 최댓값 int min = arr[0]; // 최솟값 System.out.println(ma.. 2022. 7. 10.
백준 JAVA 1978 소수 찾기 isPrime 로 소수인지 아닌지 체크하는 것을 잊지말자 package BAEKJOON; import java.util.Scanner; public class NO1978 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int count = 0; // 카운트 변수 for (int i = 0; i < N; i++) { int num = sc.nextInt(); boolean isPrime = true; // 소수인지 아닌지 구별 if(num == 1 ) continue; // 1은 소수가 아니므로 패스 // 2 ~ num 까지 나눠지는 수 있는지 확인 for (int j =.. 2022. 7. 9.