StudyLog/Algorithm
[Algorithm] 백준 단계별로 풀어보기 - 5. 1차원 배열
SingaKorean
2019. 12. 21. 02:31
728x90
반응형
2920. 음계
다장조는 c d e f g a b C, 총 8개 음으로 이루어져있다. 이 문제에서 8개 음은 다음과 같이 숫자로 바꾸어 표현한다. c는 1로, d는 2로, ..., C를 8로 바꾼다.
1부터 8까지 차례대로 연주한다면 ascending, 8부터 1까지 차례대로 연주한다면 descending, 둘 다 아니라면 mixed 이다.
연주한 순서가 주어졌을 때, 이것이 ascending인지, descending인지, 아니면 mixed인지 판별하는 프로그램을 작성하시오.
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int scaleArr[] = new int[8];
//입력
for (int i = 0; i < scaleArr.length; i++) {
scaleArr[i] = scan.nextInt();
}
//출력하면서 체크
int sum = 1;
for (int i = 0; i < scaleArr.length-1; i++) {
if(scaleArr[i]<scaleArr[i+1]) {
sum += 0;
}
else{
sum += 1;
}
}
if(sum == 1) {
System.out.println("ascending");
}
else if(sum == 8) {
System.out.println("descending");
}else {
System.out.println("mixed");
}
}
}
4344. 평균은 넘겠지
대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.
첫째 줄에는 테스트 케이스의 개수 C가 주어진다.
둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다.
각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다.
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int testCase = scan.nextInt();
double resultArr[] = new double[testCase];
for (int i = 0; i < testCase; i++) {
int count = scan.nextInt();
int scoreArr[] = new int[count];
//입력
for (int j = 0; j < scoreArr.length; j++) {
scoreArr[j] = scan.nextInt();
}
int totalScore = 0;
for (int j = 0; j < scoreArr.length; j++) {
totalScore += scoreArr[j];
}
int avgScore = totalScore/count;
int upper = 0;
for (int j = 0; j < scoreArr.length; j++) {
if(avgScore <scoreArr[j]) {
upper +=1;
}
}
resultArr[i] =(double)upper/count*100;
}
for (int i = 0; i < resultArr.length; i++) {
System.out.printf("%.3f", resultArr[i]);
System.out.println("%");
}
}
}
728x90
반응형