[java] 백준 단계별로 풀어보기 5단계 (2)알고리즘/백준2021. 6. 29. 20:49
Table of Contents
4단계 3052번 나머지
import java.util.Arrays;
import java.util.Scanner;
class Main {
public static void main(String []args) {
Scanner sc = new Scanner(System.in);
// 나머지는 반드시 한개 이상이 나오기 때문에 count를 1로 초기화
int mod=0, n=10, count=1;
int[] arr = new int[n];
for(int i=0; i<n; i++) {
int a=sc.nextInt();
mod = a % 42;
arr[i] = mod;
}
// 각 자리마다 비교하기 위해서 정렬
Arrays.sort(arr);
for(int k=1; k<arr.length; k++){
// 정렬한 배열을 자리마다 비교하여 같지 않을때만 count를 올림
if(arr[k-1] != arr[k]) {
count += 1;
}
}
System.out.println(count);
}
}
5단계 1546번 평균
import java.util.Scanner;
class Main {
public static void main(String []args) {
Scanner sc = new Scanner(System.in);
int n= sc.nextInt();
double tot = 0;
/* max를 1로 초기화해주는 이유
24번째 라인 max로 나눌때 0으로 나눌 수 없음
*/
int max=1;
int[] arr = new int[n];
// 최대값 분별
for(int i=0; i<n; i++){
int a = sc.nextInt();
arr[i] = a;
if(max < a) {
max = a;
}
}
for(int j=0; j<n; j++) {
tot += arr[j] / (double)max * 100;
}
System.out.println(tot/n);
}
}
6단계 8958번 OX퀴즈
import java.util.Scanner;
class Main {
public static void main(String []args) {
Scanner sc = new Scanner(System.in);
int n= sc.nextInt();
int count=0, totcount=0;
String[] sarr = new String[n];
String[] sarr2;
for(int i=0; i<n; i++){
// for문이 돌아갈 때마다 초기화를 시켜줘야함
totcount = 0;
count=0;
sarr[i] = sc.next();
sarr2 = new String[sarr[i].length()];
for(int j=0; j<sarr[i].length(); j++){
// 입력받은 OX문자열을 문자하나하나 뽑아서 sarr2 배열에 넣는 구간
sarr2[j] = String.valueOf(sarr[i].charAt(j));
// "O"를 포함하면 count 하나씩 추가
if(sarr2[j].contains("O")){
count = count+1;
}else{
count = 0;
}
totcount += count;
}
System.out.println(totcount);
}
}
}
7단계 4344번 평균은 넘겠지
import java.util.Scanner;
class Main {
public static void main(String []args) {
Scanner sc = new Scanner(System.in);
double[] avg;
int[][] score;
int totalScore;
int count=0;
double[] result;
// 테스트케이스 개수 C 입력받음
int c= sc.nextInt();
result = new double[c];
for(int i=0; i<c; i++){
totalScore = 0;
count =0;
// 학생 수 입력받음
int student = sc.nextInt();
// 2차원 배열로 점수 생성
score = new int[c][student];
avg = new double[c];
// 학생의 총점, 평균을 구함
for(int j=0; j<student; j++){
score[i][j] = sc.nextInt();
totalScore += score[i][j];
}
avg[i] = (double)totalScore/student;
// 점수가 평균을 넘은 학생들의 비율을 구함
for(int k=0; k<student; k++){
if(score[i][k] > avg[i]) {
count=count+1;
}
result[i] = (double)count/student*100;
}
}
// %를 출력하기 위해서 %%를 해줌
for (double v : result) {
System.out.printf("%.3f%%%n", v);
}
}
}
'알고리즘 > 백준' 카테고리의 다른 글
[java] 백준 단계별로 풀어보기 7단계 (1) (0) | 2021.07.01 |
---|---|
[java] 백준 단계별로 풀어보기 6단계 (0) | 2021.06.30 |
[java] 백준 단계별로 풀어보기 5단계 (1) (0) | 2021.06.28 |
[java] 백준 단계별로 풀어보기 4단계 (0) | 2021.06.25 |
[java] 백준 단계별로 풀어보기 3단계 (3) (0) | 2021.06.24 |
@펄찌 :: Pearl's Story
펄의 일상이 궁금한 사람 요기~
즐거운 하루 되셨으면 좋겠습니다😊