[SW Expert Academy] 2068. 최대수 구하기

사용 언어 : JAVA

결과

  • 메모리 : 20,408 kb
  • 실행 시간 : 135 ms
  • 코드 길이 : 2,169

풀이

package level_1;

import java.util.*;


public class java_2068 {
	
	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		int T = sc.nextInt();
		
		for (int i = 0; i <= T; i++) {
			
			String str = sc.nextLine();
			String[] strArray = str.split(" ");
            
            int max = -2147000000;
			
			for (int j = 0; j < strArray.length-1; j++) {
				int num = Integer.parseInt(strArray[j]);
				if (num > max) {
					max = num;
				}
			}
			
			if ( max > 0 ) {
				System.out.println("#"+i+" "+max);
			}
		}
	}
}

주석

- 처음 풀 때는 int n1 = Interger.parseInt(strArray[j]); / int n2 ... if (n1>n2)... 하는 식으로 되게 복잡하게 코드를 작성했었다. 그러던 와중 max와 min을 구하는 방법을 배웠던 게 떠올랐고, 그걸 이용해서 max 값을 도출했다.

- 그러나, 문제가 있었다. max 값을 for j문 이전에 정의를 해버려서 System.out.println("#"+i+" "+max);를 하면 -2147000000;이 먼저 튀어나왔다. 그래서 if 문을 통해서 음수는 출력되지 않도록 제한을 걸어두니 원하는 값이 나왔다.