본문 바로가기

Algorithm/CodeUp

[CodeUp_Java] Q1271 : 최대값 구하기

반응형

안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q1271 : 최대값 구하기 (자바, JAVA)입니다.

Intro

Question

문제 설명

입력의 개수 n이 입력되고 n개의 데이터가 입력된다.
이 n개의 데이터 중 최대값을 출력한다.

입력

첫째줄에 정수의 개수 N이 주어진다. (n<=1000)
둘째줄에 N개의 정수가 공백으로 분리되어 주어진다. ( 0 <= 각각의 데이터 <=1000000)

출력

N개의 정수 중 최대값을 찾아 출력한다.

예시

  • 입력 :
    5
    3 1 29 31 21
  • 출력 : 31

Solution (풀이)

  • 풀이 1 : 메모리 11468, 시간 92
public class Answer1 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        // 몇개의 정수를 입력 받을지
        int n = Integer.parseInt(br.readLine());
        StringTokenizer st = new StringTokenizer(br.readLine(), " ");

        // 가장 큰 수를 0으로 초기화 선언해놓는다.
        int maxNum = 0;

        // 1부터 n까지 for문 반복
        for (int i=0; i<n; i++) {
            int number = Integer.parseInt(st.nextToken());
            if (maxNum < number) {    // 입력 받은 숫자가 maxNum보다 크면 
                maxNum = number;    // 바꿔준다.
            }

        }

        System.out.println(maxNum);
        br.close();
    }
}
  • 풀이 2 : 메모리 11476, 시간 88
public class Answer2 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        // 몇개의 정수를 입력 받을지 받지만 사실 쓰이지 않는다.
        br.readLine();
        StringTokenizer st = new StringTokenizer(br.readLine(), " ");

        // 가장 큰 수를 0으로 초기화 선언해놓는다.
        int maxNum = 0;

        // 토큰이 있을 때 까지 반복
        while(st.hasMoreElements()) {
            int number = Integer.parseInt(st.nextToken());
            if (maxNum < number) {    // 입력 받은 숫자가 maxNum보다 크면 
                maxNum = number;    // 바꿔준다.
            }
        }

        System.out.println(maxNum);
        br.close();
    }
}

Ranking(순위)

반응형