728x90
반응형
피곤쓰~
알고리즘을 풀다가 잠깐 턱에 걸려 넘어졌다.
가장 큰 수
public String solution(int[] numbers) {
String[] strArray = new String[numbers.length];
for (int i = 0; i < numbers.length; i++)
strArray[i] = String.valueOf(numbers[i]);
Arrays.sort(strArray, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return (o2 + o1).compareTo(o1 + o2);
}
});
if (strArray[0].equals("0"))
return "0";
StringBuilder answer = new StringBuilder();
for (String s : strArray) {
answer.append(s);
}
return answer.toString();
}
첫 시도에서
if (strArray[0] == "0")
return "0";
이걸 넣고 틀렸다. 케이스 하나만 틀리더라. 0 하나 들어오는 배열.
왜 이럴까 하고 팀원들 한테 물어보니
strArray[0] 을 "0" 과 비교하게 되면 주소값에 접근해서 같은지 비교한다.
흠... 그으래?
JVM과 문자열과 배열은 둘 다 객체
생각하다보니 둘 다 객체라는걸 기억해냈다.
애초에 둘을 비교할 수 없었다는 것.
equals
를 사용하기로 했다.
728x90
반응형
'TIL' 카테고리의 다른 글
IntelliJ Cannot connect to already running IDE instance. (2) | 2023.11.12 |
---|---|
프로그래머스 알고리즘 1단계 (0) | 2023.11.12 |
2023년 11월 7일 (1) | 2023.11.07 |
2023년 11월 6일 (1) | 2023.11.07 |
2023년 11월 5일 @Getter @Setter @NoArgsConstructor (1) | 2023.11.07 |