-
[JAVA] 단계별로 풀어보기 5. 1차원 배열BOJ 2022. 1. 8. 19:01
코드가 이게 뭐야, 나중에 다시보기
1. 10818 최소, 최대
https://www.acmicpc.net/problem/10818
10818번: 최소, 최대
첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.
www.acmicpc.net
import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; import java.io.IOException; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int[] arr =new int[Integer.parseInt(br.readLine())]; StringTokenizer st = new StringTokenizer(br.readLine(), " "); for(int i=0 ; i<arr.length ; i++) arr[i] = Integer.parseInt(st.nextToken()); Arrays.sort(arr); System.out.println(arr[0] + " " + arr[arr.length-1]); } }2. 2562 최댓값
https://www.acmicpc.net/problem/2562
2562번: 최댓값
9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어
www.acmicpc.net
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int max = 0; int index = 0; for(int i=0 ; i<9 ; i++) { int num = Integer.parseInt(br.readLine()); if(num>max) { max = num; index = i+1; } } System.out.println(max + "\n" + index); } }
3. 2577 숫자의 개수
https://www.acmicpc.net/problem/25772577번: 숫자의 개수
첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다.
www.acmicpc.net
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int[] count = {0, 0, 0, 0 ,0, 0, 0, 0, 0, 0}; int sum = Integer.parseInt(br.readLine()) *Integer.parseInt(br.readLine()) *Integer.parseInt(br.readLine()); while(sum!=0) { count[sum%10]++; sum/=10; } for(int i : count) System.out.println(i); } }4. 3052 MODULO
https://www.acmicpc.net/problem/3052
3052번: 나머지
각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다.
www.acmicpc.net
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int[] mod = new int[10]; int result = 1; for (int i = 0; i < 10; i++) mod[i] = Integer.parseInt(br.readLine()) % 42; Arrays.sort(mod); for (int i = 1; i < 10; i++) { if (mod[i] != mod[i - 1]) result++; } System.out.println(result); } }5. 1546 평균
https://www.acmicpc.net/problem/1546
1546번: 평균
첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보
www.acmicpc.net
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; 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 m = 0; double result = 0; String[] str = br.readLine().split(" "); for (int i = 0; i < n; i++) { if (Integer.parseInt(str[i]) > m) m = (int) Integer.parseInt(str[i]); } for (int i = 0; i < n; i++) { result = result + (Double.parseDouble(str[i])/m*100); } result = result/n; System.out.println((result)); } }6. 8958 Score
https://www.acmicpc.net/problem/8958
8958번: OX퀴즈
"OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수
www.acmicpc.net
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); for (int t = Integer.parseInt(br.readLine()); t > 0; t--) { int sum = 0; int score = 0; String str = br.readLine(); for (int i = 0; i < str.length(); i++) { if (str.charAt(i) == 'O') { score++; } else { score = 0; } sum += score; } sb.append(sum).append('\n'); } System.out.println(sb); } }7. 4344 Above Average
https://www.acmicpc.net/problem/4344
4344번: 평균은 넘겠지
대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.
www.acmicpc.net
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)); for (int c = Integer.parseInt(br.readLine()); c > 0; c--) { String[] str = (br.readLine().split(" ")); int n = Integer.parseInt(str[0]); double ave = 0; for (int i = 1; i <= n; i++) { ave += Double.parseDouble(str[i]); } ave = ave / n; int ratio = 0; for (int i = 1; i <= n; i++) { if (Double.parseDouble(str[i]) > ave) { ratio++; } } System.out.printf("%.3f%%%n", (double) ratio / n * 100); } } }'BOJ' 카테고리의 다른 글
[JAVA] BOJ11720 숫자의 합 (0) 2022.01.11 [JAVA] 단계별로 풀어보기 6. 함수 (0) 2022.01.09 [JAVA] 단계별로 풀어보기 4. while문 (0) 2022.01.08 [JAVA] 단계별로 풀어보기 3. for문 (0) 2022.01.04 [JAVA] 단계별로 풀어보기 2. if문 (0) 2022.01.03