알고리즘
[Baekjoon]백준 NO.1542 평균(브론즈1) / Java(자바)
import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int line = sc.nextInt(); double [] sub = new double [line]; for(int i = 0; i < line; i++) { sub[i] = sc.nextInt(); } Arrays.sort(sub); double sum = 0; for(int i = 0; i < line; i++) { sub[i] = ((double)(sub[i] / sub[line-1]))*100; sum += sub[i]; } Sy..
[Baekjoon]백준 NO.3052 나머지(브론즈2) / Java(자바)
문제에 대한 설명을 간단하게 먼저 드려야겠네요. 입력받은 10개의 수를 각각 42로 나눈 후 나온 나머지의 종류를 묻는 문제입니다. 예제1의 경우 1부터 10까지의 숫자를 42로 나누게 되면 1부터 10까지 10개의 나머지 종류가 발생합니다. 따라서 10의 출력이 발생하게 됩니다 예제2의 경우 모둔수를 42로 나누어도 나머지가 0이됩니다. 따라서 나머지의 종류는 0이라는 숫자 1개이므로 1이 출력이 되겠지요. 문제만 이해하신다면 마찬가지로 어렵지 않에 풀수 있는 문제입니다! import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int[] ..
[Baekjoon]백준 NO.2577 숫자의 개수 / 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 num1 = Integer.parseInt(br.readLine(..
[Baekjoon]백준 NO.2562 최댓값 / Java(자바)
난이도가 브론즈2인 문제입니다. 9개의 자연수가 주어지고(입력받고) 입력 받은 숫자중 가장 높은수를 출력하고 해당 숫자가 몇번째 숫자인지까지 뽑아내는 문제네요! import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int[] num = new int [9]; int[] tmp = new int [9]; for(int i = 0; i < num.length; i++) { num[i] = sc.nextInt(); tmp[i] = num[i]; } Arrays.sort(num); System.out...
[Baekjoon]백준 NO.10818 최소, 최대 / Java(자바)
배열과 for문을 이해하고 있다면 쉽게 풀수 있는 문제입니다. import java.util.Arrays; import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); int line = sc.nextInt(); int[] num = new int [line]; for(int i = 0; i < num.length; i++) { num[i] = sc.nextInt(); } Arrays.sort(num); System.out.println(num[0] + " " + num[line-1]); } } 저는 우선 line이라는 변수에 몇개의 숫자를 입력할..
[Baekjoon]백준 NO.1110 더하기 사이클 / Java(자바)
알고리즘 공부를 막 시작했을때 풀었던 문제라 문제를 풀 때 상당히 애를 먹었던 기억이 있습니다.. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int num = sc.nextInt(); int num1 = 0;// 십의자리 숫자 int num2 = 0;// 일의자리 숫자 int cnt = 0;// 사이클 int res = num;//최초 입력숫자 저장하는 변수 int tmp = 0;// 일의자리 + 십의자리 do { num1 = num / 10; num2 = num % 10; tmp = num1 + num2; if(tmp>=10)..
[Baekjoon]백준 NO.10951 A+B-4 / Java(자바)
while문의 문법만 알고 있다면 아주 간단하게 풀 수 있는 문제입니다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(sc.hasNext()) { int a = sc.nextInt(); int b = sc.nextInt(); System.out.println(a+b); } sc.close(); } }
[Baekjoon]백준 NO.10952 A+B-5 / Java(자바)
while문을 알고 있다면 쉽게 풀수 있는 문제입니다. 백준의 while단계에서는 가장 쉬운문제인데 저는 특이하게 do-while문으로 풀었네용 import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); boolean end = true; do{ int num1 = sc.nextInt(); int num2 = sc.nextInt(); if(num1 == 0 && num2 == 0) { end = false; } else { System.out.println(num1 + num2); } }while(end); sc.close(); } }
[Baekjoon]백준 NO.10871 - X보다 작은 수 / Java(자바)
문제만 잘 이해하신다면 별찍기보다도 오히려 쉬운문제가 될수 있습니다. 입력받을 N개의 숫자에서 N개가 몇개인지를 먼저 입력받고 이렇게 입력된 N개의 숫자중 X보다 작은것만 출력하면 됩니다. import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int X = sc.nextInt();; int[] j; for(int i = 0; i < N; i++) { int num = sc.nextInt(); j = new int[N]; j[i] = num; if(j[i] < X) { System.out.print(j[..
[Baekjoon]백준 NO.2439 - 별찍기02 / Java(자바)
앞선 별찍기보다 난이도가 조금 있는 문제입니다. 하지만 그래도 for문에서의 별찍기는 어떤 언어를 공부하더라도 거치게 되는 과정으로 기본중의 기본이라고 할 수 있겟습니다!! import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int line = sc.nextInt(); for(int i = 0; i i; j--) { System.out.print(" "); } for (int j = 0; j < i+1; j ++) { System.out.print("*"); } Sy..