본문 바로가기
TIL & WIL

[TIL] #27. 231010

by mmm- 2023. 10. 11.

어제 목표 & 오늘 완료한 한 일 

  • 알고리즘 문제
  • 내배캠 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