22.02.04(금)

강병철·2022년 2월 4일
0

회고

목록 보기
32/68

설 연휴가 끼어 있는 이번주는 코드스쿼드 방학이여서
휴식도 취하고, 평소에 못했던 공부도 조금씩 하면서 보내고 있다.
(확실히 약간의 강제성이 있어야 더 열심히 하게 된다는걸 또 느꼈다)

회고는 다음 주 부터 다시 쓰기 시작할 예정인데, 오늘은 알고리즘을 풀다가 기록해두고 싶은게 생겨서 잠시 들렀다.

너무 쉬운 내용이지만 나는 몰랐던거라 이것 때문에 시간을 많이 허비했던게 억울해서 적어놔야겠다.

오늘 배운 것

  • 소수점 아래 셋째 자리 까지 반올림해서 표기해야하는 문제가 있었는데(백준 #4344),
    Math.round(DOUBLE * 100 * 1000))
    이런식으로 풀려고하니까 한자리 숫자일때 또 예외 처리를 해야했고(예: 8.333% 여야 하는데 83.333% 가 됨) 처리를 제대로 해준 것 같은데도 채점하면 결국 틀리다고 나왔다.
    빡쳐서 찾아보니
    String.format("%.3f", DOUBLE) 또는 같은 형식으로
    printf()를 사용하면 간단히 풀 수 있는 문제였다.
  • for 문 안에서 System.out.print 를 반복하는 것 보다 StringBuilder 에 일단 다 쌓은 뒤 한번에 출력하는게 더 빠르다.

결론 :
1. 소수점 몇째 자리까지 반올림을 해야할 땐 String.format 또는 printf 를 사용하자
2. StringBuilder 를 사용하자

알고리즘 500 문제 언제 푼담?

0개의 댓글