Codingtest

[코딩테스트] 백준 2562번 최댓값 해설집 (Java)

AlexHouse 2022. 10. 19. 22:27
728x90

이 문제는

 

푸는데 이틀정도 걸린것같다.

 


문제

 

정답
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Scanner;
import java.util.StringTokenizer;


public class Main {
	
	public static void main (String[] args) throws IOException{
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		StringTokenizer st; 
		Scanner sc = new Scanner(System.in);
		
		String F = null;
		int z = 0; // 몇 번째 인지 구하는 행
		int L = 0; // 몇 번째 인지 구하는 행
		int[] arr = new int[L]; // 배열 처리
		int max = 0; // 최대값 변수 선언 max
		int m = 0;  // 최대값의 번째 수
		int A = 0; // 값
	
			for(int i=0; i<=L; i++) {// for 문이 반복함
				while((F = br.readLine()) != null) { //만약 공백 시에는 멈출것임
					
				L++; // L이 +1 씩 증가함
				arr = new int[L]; // arr 공간은 처음에 L이 0이라 암것도 못들가지만 L++ 상태라증가
				st = new StringTokenizer(F, " "); // 이구문에서 공백 엔터시 while 반복문을 멈춤
				A = Integer.parseInt(st.nextToken()); // 계속 타이핑 치셈
				arr[i] = A; // arr[?] 값에 해당한 것은  A 값임
				z++; // Z는 몇번째인지 구하는건데 한사이클 돌때마다 +1
			
			
					if(arr[i] > max) { //최댓값 구하는 if문임
						max = arr[i]; 
						m = z; // m = z 인 이유는 더 큰값이 안나오면 몇번째가 가장큰지 알수있음
					}
			
				}
				br.close(); // 버퍼종료
				System.out.println(max+" "+m);// 최댓값과 몇번째인지 호출
				break; // 멈추기
		}
	}
}

 

 

To be continue..

728x90