문제

9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오.

예를 들어, 서로 다른 9개의 자연수

3, 29, 38, 12, 57, 74, 40, 85, 61

이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다.

입력

첫째 줄부터 아홉 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 100 보다 작다.

출력

첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 몇 번째 수인지를 출력한다.

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int[] arr = new int[9]; // 9칸의 배열 생성
		// System.out.println("arr 변수 생성");
		int max = 0; // 100 이하의 자연수 max
		int cnt = 0; // 몇 번째 배열인지 저장할 변수
		// System.out.println("max와 cnt 변수 생성");
		
		for (int i = 0; i <= arr.length - 1; i++) {
			// System.out.println("반복문 시작");
			arr[i] = sc.nextInt();
			if (arr[i] > max) {
				max = arr[i];
				cnt = i + 1;
			} // max와 카운트에 값을 넣어줄 반복문
		} // 입력 값을 배열에 저장할 반복문
		System.out.println(max);
		System.out.println(cnt);
	}
}

문제

첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제

하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.

입력

첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.

출력

첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner key = new Scanner(System.in);
		int a = key.nextInt();

		for (int i = 1; i <= a; i++) {
			for (int j = 1; j <= a-i; j++) {
				System.out.print(" ");
			}
			for (int k = 0; k<i; k++) {
			System.out.print("*");
			}
			System.out.println();
		}
	}
}

문제

세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다.

예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이었으면 수학점수는 50/70*100이 되어 71.43점이 된다.

세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로운 평균을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보다 크다.

출력

첫째 줄에 새로운 평균을 출력한다. 실제 정답과 출력값의 절대오차 또는 상대오차가 10-2 이하이면 정답이다.

package JavaTestBackJoon;

import java.util.Scanner;

public class B1546 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		int[] score = new int[a];
		int m = 0;
		float avg = 0;
		
		for (int i=0; i<a; i++) {
			score[i] = sc.nextInt();
		} // 값 성적 입력 받기
		for (int i=0; i<a; i++) {
			if(m<score[i]) {
				m = score[i];
			} //제일 높은 점수 계산
		}
		for (int i = 0; i < a; i++) {
	        avg += (float)score[i] / m * 100;
	    }
		System.out.println(avg/a);
	}

}

+ Recent posts