https://school.programmers.co.kr/learn/courses/30/lessons/12939
class Solution {
public String solution(String s) {
int min = Integer.MAX_VALUE;
int max = Integer.MIN_VALUE;
// s에 있는 모든 숫자를 배열에 집어 넣는다
String[] tokens = s.split(" ");
for (int i = 0; i < tokens.length; i++) {
int num = Integer.parseInt(tokens[i]);
if (num > max) max = num;
if (num < min) min = num;
}
// 배열을 순회하며 min을 갈아치운다
// 배열을 순회하며 max를 갈아치운다
String answer = min + " " + max;
return answer;
}
}
import java.lang은 기본으로 되어있다. 여기서는 java.lang의 Integer, String이 쓰였다.
min max 패턴에서는 Integer.MAX_VALUE와 Integer.MIN_VALUE를 쓴다.
Integer.parseInt로 String을 정수로 바꿔준다. C의 atoi와 비슷하다. atoi는 단순이 모든 char에 - ‘0’ 하여 반환하는데, Integer.parseInt는 훨씬 많은 wrapping이 되어있다.
String[] tokens = s.split(” “);
자바에서 배열은 C와는 다르게, length를 제공한다. 이것을 보면 자바에서 배열은 나름 객체 같다는 것을 볼 수 있다. 찾아보니 놀랍게도 자바에서 배열은 object가 맞다!
하나 언급해야될 점은 arr.length는 field access이고 str.length()는 method call이라는 점이다. 자바의 encapsulation 을 생각하면 arr.length가 특이 케이스인 거다.