어제 목표 & 오늘 완료한 한 일
알고리즘 문제내배캠 Chap1 팀 프로젝트팀원 코드 이해
깃 & 깃허브 강의 정리Realtime & Firestore 차이 공부
내일 목표
- 알고리즘 문제
- JSON 공부
- HTTP & HTTPS 공부
발생한 문제와 해결
'정수 내림차순 배치하기' 알고리즘 문제 코드를 아래와 같이 작성하였다.
import java.util.*;
class Solution {
public long solution(long n) {
long answer = 0;
char[] ch = String.valueOf(n).toCharArray();
StringBuilder sb = new StringBuilder();
Arrays.sort(ch);
sb.append(ch).reverse();
answer = (long)Integer.parseInt(sb.toString());
return answer;
}
}
그런데 런타임 에러가 발생했고, 아무리 다른 방법을 생각해도 내 머릿속에서는 더 좋은 풀이법이 생각나지 않았다. 왜 런타임 에러가 발생했는지 생각해보아도 도저히 모르겠어 서치를 해봤다. 알아보니 런타임 에러가 발생했던 이유는 정수 범위 초과로 인한 것이었다. answer = ...줄에서 문자열로 변환한 sb를 int형으로 변환하였을 때 범위를 초과하여 이와 같은 에러가 발생하는 것으로 보였다. 그래서 문자열에서 바로 long형으로 변환해주는 Long.parseLong() 메서드를 이용해 문제를 해결해주었다.
느낀점
깃 강의 정리하면서 다시 한 번 공부하였고 헷갈리는 부분 없이 잘 이해한 것 같다. 혹시라도 앞으로 오늘 한 내용을 잊어서 하다가 헷갈린다면, 이번에 정리해둔 것을 보는 것이 도움이 많이 될 것 같다. realtime database와 firestore의 차이도 정리를 하며 공부를 했는데 내가 생각하고 있는 것과 다른 것도 있었고 새롭게 알게 된 것도 있었다. 오늘 내용 정리를 한 덕분에 다음 번에 realtime database와 firestore를 사용하게 된다면 보다 높은 이해도로 비교적 수월하게 사용할 수 있을 것 같다
'TIL & WIL' 카테고리의 다른 글
[TIL] #29. 231012 (0) | 2023.10.12 |
---|---|
[TIL] #28. 231011 (0) | 2023.10.11 |
[TIL] #26. 231009 (0) | 2023.10.09 |
[WIL] #4. 231002~231008 (1) | 2023.10.09 |
[TIL] #25. 231008 (0) | 2023.10.08 |