사용 언어 : 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 문을 통해서 음수는 출력되지 않도록 제한을 걸어두니 원하는 값이 나왔다.
'CodingTest > SW Expert Academy' 카테고리의 다른 글
[SW Expert Academy] 2071. 평균값 구하기 (1) | 2024.01.19 |
---|---|
[SW Expert Academy] 2070. 큰 놈, 작은 놈, 같은 놈 (0) | 2024.01.17 |
[SW Expert Academy] 2063. 중간값 찾기 (0) | 2024.01.17 |
[SW Expert Academy] 2058. 자릿수 더하기 (0) | 2024.01.16 |
[SW Expert Academy] 2056. 연월일 달력 (0) | 2024.01.16 |