백준(java)

백준 2562 java

isaacagent 2023. 8. 14. 00:16
728x90

그냥 3개 정도 만들어 봤습니다.

2,3번은 백준에서는 오답 처리 될텐데 기능적으로는 정상 작동 되니 참조만 하면 됩니다.


1

import java.util.Scanner;
public class Main{
    public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(System.in);
        
        int[] arr = new int[9];

        for(int i = 0; i < 9; i++){
            arr[i]= sc.nextInt();
        }

        int max =0;
        int index = 0;

        for(int i =0; i < 9;i++){
            if(arr[i]>max){
                max = arr[i];
                index = i+1;
            }
        }
        System.out.println(max);
        System.out.println(index);
    }
}

가장 무난한 Scanner를 이용한 방식입니다.

이미 배열의 크기가 주어져 있기 때문에 반복문의 횟수를 지정해 줍니디.

그 후로는 max 값과 index 값 찾기.

2

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Main{
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int[] arr = new int[9];

        StringTokenizer str = new StringTokenizer(br.readLine()," ");

        int k =0;

        while(str.hasMoreTokens()){

            int a = Integer.parseInt(str.nextToken());
            
            arr[k]= a;
            k++;
        }

        int max =0;
        int index = 0;

        for(int i =0; i < 9;i++){
            if(arr[i]>max){
                max = arr[i];
                index = i+1;
            }
        }
        System.out.println(max);
        System.out.println(index);
    }
}

 

3

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Main{
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int[] arr = new int[9];

        StringTokenizer str = new StringTokenizer(br.readLine()," ");

        int k =0;

        while(str.hasMoreTokens()){

            int a = Integer.parseInt(str.nextToken());
            
            arr[k]= a;
            k++;
        }

        int max = Arrays.stream(arr).max().getAsInt();
        System.out.println(max);
        
        int n =0;
        for(int x : arr){
            n++;
            if(x==max)break;
        }
        System.out.println(n);

    }
}

stream 함수를 사용한 코드입니다.

 

https://velog.io/@gwichanlee/%EC%8A%A4%ED%8A%B8%EB%A6%BCStream-kb2zjwfq

 

스트림(Stream)

스트림(Stream) ◎ 스트림(Stream) ◎ 파이프라인 ◎ 스트림 생성, 연산 ◎ 컬렉션과 스트림 비교 ◎ Optional< T >

velog.io

스트림에 관한 내용은 해당 링크 참조바랍니다.

 

max() 로 최대값을 찾은 후에 getAsInt()로 해당 최댓값을 int 로 표현해줘서 최댓값을 찾아냅니다.

 

그리고 이해 최댓값 인덱스 찾는 방식은 동일..

 

'백준(java)' 카테고리의 다른 글

백준 9498 java  (0) 2023.08.14
백준 11382 java  (0) 2023.08.14
백준 10818 java(Scanner)  (0) 2023.08.13
백준 2588번 java  (0) 2023.08.13
백준 10869번 java  (0) 2023.08.13