백준문제풀이(1546,11720)배열활용

지선·2023년 3월 23일

알고리즘study

목록 보기
3/7
package baekjoon;

import java.util.Scanner;

public class Baekjoon1546 {

	public static void main(String[] args) {
		
		Scanner input=new Scanner(System.in);
		
		int N= input.nextInt();
		String temp=input.nextLine();
		
		double[] Arr= new double[1001] ;
		
		for(int i=0;i<N;i++) {
			// 점수 입력 받기 위한 for문
			int score=input.nextInt();
			Arr[i]=score;
		}
		
		double M=0;
		double sum=0;
		
		for(int i=0;i<N;i++) {
			// 최고값과 최고값의 인덱스를 기억하기 위한 for문
			if (M<Arr[i]) {
				M= Arr[i];
			}
			Arr[i]=Arr[i]*100/M;
			sum=sum+Arr[i];
			// 모든 Arr[i]의 원소의 합을 구한후 100을 곱하고 M을 나눠도 값은 같음.
		}
		
		System.out.printf("%f",sum/N);	
	}
}
// 이 문제를 풀기 위해 조심해야 할 점은 N이 100이라는 것이다. int형도, long형도 100자리의 숫자를 대입할 순 없다.
package baekjoon;

import java.util.Scanner;

public class Baekjoon11720 {

	public static void main(String[] args) {
		
		Scanner input=new Scanner(System.in);
		
		int N=input.nextInt();
		input.nextLine();
		String N_message=input.nextLine(); // 앞의 이유로 N을 string형으로 받도록 한다.
		
		char [] Arr=N_message.toCharArray(); // N이라는 문자열을 한 알파벳씩 char 배열인 Arr에 넣어준다.
		
		int sum=0;
		for(int i=0;i<Arr.length;i++) {
			
			sum=sum+(Arr[i]-48);//1이라는 문자와 1이라는 숫자는 48의 차이가 난다.
			
		}
		System.out.printf("%d",sum);
	}

}
profile
긍정왕되기

0개의 댓글