본문 바로가기

알고리즘

입력 받은 정수형 배열(몸무게)을 통해 놀이기구의 탑승 가능 여부를 출력하는 알고리즘

import java.io.*;
import java.lang.*;
import java.util.*;


public class Main {
	public static final Scanner scanner = new Scanner(System.in);

	/**
     * 동아리 멤버들의 탑승 가능 여부를 출력하는 함수
     *
     * @param data 각 멤버들의 몸무게 data[0] ~ data[n-1]
     * @param n    멤버들의 수
     * @param p    놀이기구 탑승 가능 체중 제한
     * @param q    놀이기구 최대 하중
     */
	public static void solve(int[] data, int numOfMember, int weightRestriction, int MaxWeight){
		
		int S = 0; //탑승 가능한 사람의 몸무게 총 합
		int C = 0; //탑승 가능한 사람의 수
		
		for( int kg : data ) {
			if(kg <= weightRestriction) {
				S += kg;
				C++;
			}
		}
		
		System.out.printf("%d %d\n", C, S);
		System.out.printf (  (S <= MaxWeight) ? "YES" : "NO");
		
	}


	public static void main(String[] args)
	{
		int n = scanner.nextInt(); //동아리 멤버 수
		int weightRestriction = scanner.nextInt(); //체중 제한
		int MaxWeight = scanner.nextInt(); //최대 하중
		int[] data = new int[n];
		for(int i = 0 ; i < n ; i ++)
		{
			data[i] = scanner.nextInt();
		}
		
		solve(data, n, weightRestriction, MaxWeight);
	}

}

 

10주 완성 알고리즘 코딩테스트 - goorm edu에서 들으실 수 있는 내용입니다.