Programming (61) 썸네일형 리스트형 [백준] 4344 - 평균은 넘겠지 - JAVA[자바] 관건은 반올림후, 소수점 셋째자리까지 출력하는 부분이겠다. 1. 테스트 케이스의 갯수를 가져온다. int C = Integer.parseInt(br.readLine()); 2. 한 줄을 불러와서 총점을 구해서 평균을 구할 준비를 한다. 학생 비율을 소수점 셋째자리까지 구해야하기 때문에 변수중 하나를 double로 설정하면 된다. for(int i = 0; i (sum/N)){ over++; } } System.out.printf("%.3f%%\n", (over/N)*100); 기본 출력문은 println()은 변수의 값을 그대로 출력하므로, 값을 변환하지 않고는 다른 형식으로 출력할 수 없다. 반면에 printf()는 지시자를 통해 변수의 값을 여러 가지 형식으로 변환하여 출력할 수 있다. printf(.. [백준] 8958 - OX퀴즈 - JAVA[자바] import java.io.IOException; import java.io.InputStreamReader; import java.io.BufferedReader; 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()); String arr[] = new String[N]; for (int i = 0; i < N; i++){ arr[i] = br.readLine(); } for (int i = 0; i < N; i++).. [백준] 1546 - 평균 - JAVA[자바] 문제의 조건 중 눈여겨 봐야할 것은 "실제 정답과 출력값의 절대오차 또는 상대오차가 10-2 이하이면 정답이다." 는 것이다. 처음 제출했을때 틀린코드는 아래와 같다. import java.io.IOException; import java.io.InputStreamReader; import java.io.BufferedReader; import java.util.StringTokenizer; public class Main{ public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt.. [백준] 3052 - 나머지 - JAVA[자바] 2가지 풀이법이 있다. 1. 배열을 이용한 방법 2. HashSet을 이용한 방법 배열을 이용한 방법을 먼저 살펴보면, 1. 불린으로 된 배열을 먼저 만들어주고, boolean[] arr = new boolean[42]; 2. 입력된 10개의 수를 대상으로 42로 나눈 나머지에 해당하는 배열의 위치를 true로 바꾸어준다. for(int i = 0; i < 10; i++){ arr[Integer.parseInt(br.readLine()) % 42] = true; } 3. arr의 boolean 값들을 for문에서 value로 받고, value==true이면 cnt를 1 올려준다. int cnt = 0; for(boolean value : arr){ if(value){ cnt++; } } System.ou.. [백준] 5597 - 과제 안 내신 분..? - JAVA[자바] 배열 두개를 비교하여 참/거짓을 가려내면 된다고 생각했으나, 배열 하나로 완료할 수 있는 과정이었다. import java.io.InputStreamReader; import java.io.IOException; import java.io.BufferedReader; public class Main{ public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int[] attended = new int[28]; int[] student = new int[31]; for(int i = 0; i [백준] 10871 - X보다 작은 수 - JAVA[자바] 1차원 배열 - for문과 if문을 적절히 사용하면 쉬운문제이다. 1. 첫 줄에 수열의 길이 N, 해당 수보다 작은 수를 찾기위한 변수 X가 제공되므로 BufferedReader-> StringTokenizer로 받아준다. 2. 입력 두번째 줄에 수열을 받아야 하므로, StringTokenizer를 다시 호출한다. 이때, 필자는 StringTokenizer st1 = new StringTokenizer(br.readLine(), " "); 로 새로 생성해주었으나, 기존에 생성된 StringTokenizer를 그대로 이용해도된다. st = new StringTokenizer(br.readLine(), " "); 3. 수열을 생성하고, 두번째줄 Input으로 채워넣는다. int[] arr = new int[.. [백준] 10807 - 개수 세기 - JAVA[자바] 배열이 주어진다. 그중 "같은 것을 찾는" 조건 => 배열 과 숫자를 비교하자. 1. BufferedReader 로 input을 받는다. (Scanner보다 성능 좋음) 2. 첫번째 입력줄은 배열의 길이를 뜻한다. => int N = Integer.parseInt(br.readLine());으로 받자 3. Array를 생성해서 두번째 줄 배열 입력을 받자 => int[] arr = new int[N] 4. 공백으로 입력을 받는다 -> StringTokenizer로 받는다. 5. array에 입력을 넣어준다. for(int i = 0; i [백준] 1110- 더하기 사이클 - JAVA[자바] 문제의 조건을 다시 한번 적어보자면, N의 1의 자릿수는 새로운 수의 10의 자리로, N의 1의 자릿수와 10의 자릿수를 더한 값의 1의 자릿수는 새로운 수의 1의 자리로 가면 된다. (만약 N 이 한 자릿수 정수라면 앞에 0을 붙여서 더한다.) 원래 숫자를 mother_num, 파생된 수를 son 이라고 하면, son의 십의 자리 숫자 : ((son % 10) * 10) son의 일의 자리 숫자: ((son/10) + (son % 10)) % 10; 가 된다. 그래서 답을 적어보면 아래와 같다. import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Main{ publi.. 이전 1 2 3 4 5 6 7 8 다음