TIL
TIL_20230308
번잔중
2023. 3. 8. 23:21
오늘 할 일
- LeetCode 데일리 문제 풀기
- Heart
- 토큰 재발행 기능 수정
오늘 배운 것
LeetCode 데일리 문제 풀기
- 오늘의 문제: 875. Koko Eating Bananas(https://leetcode.com/problems/koko-eating-bananas/)
- 문제 조건
- 바나나를 좋아하는 Koko가 있고, 바나나로 된 piles가 있는 piles 배열이 있다. piles를 지키는 가드는 자리를 비웠다가 h시간 후에 돌아온다.
- Koko는 한 시간에 k속도로 바나나를 먹을 수 있다. k속도보다 작은 바나나를 먹으면 먹는 동안에는 바나나를 더 먹을 수 없다.
- h시간 내에 모든 바나나를 다 먹을 수 있는 k의 최소값을 찾아라.
- 문제 해결
- 어제 풀었던 문제와 유사해보인다. 배열에서 정답을 찾는 것이 아니라 k값을 찾아야 하기 때문이다.
- 찾아야하는 k의 범위는 1~pilles의 최대값으로 시작해서 이진 탐색으로 해보면 되지 않을까? 해보고 다시 생각해보자.
- piles[i]보다 k가 커질 수 있는 n을 찾고, 각 n의 합이 h와 같은 최솟값을 찾는 것일듯! (맞았다!)
- 중요한 것은 각 배열을 k(mid)로 나누었을 때, 몫을 더하고 나머지가 있다면 +1 해주는 것이 필요한 k의 개수를 정확하게 알 수 있다는 것이다.
- end를 배열의 최댓값 * 배열의 길이로 설정했는데, 배열에 들어갈 수 있는 최댓값이 10억이기 때문에 자료형이 int임을 고려하여 배열의 길이를 빼주어야 한다. 빼줘도 정답이 잘 나옴!
GitHub - chaning49/LeetCode
Contribute to chaning49/LeetCode development by creating an account on GitHub.
github.com
Heart
- [Spring Security] Google OAuth2.0 400 오류: redirect_uri_mismatch 해결
[Spring Security] Google OAuth2.0 400 오류: redirect_uri_mismatch 해결
안녕하세요. 오랜만에 트러블 슈팅을 하게 됐습니다. 오늘은 google의 OAuth2.0를 사용하면서 생긴 문제입니다. 헛소리 안하고 바로 시작하겠습니다. + 바쁘신 분들은 맨 밑으로 가셔서 방법만 보셔
chaning49.tistory.com
- 토큰 재발행 기능 수정
- ExceptionCode의 설명 때문에 토큰이 만료됐음을 인지하기 어려웠다는 의견이 있어서 해당 부분을 만료로 변경
- OAuth2 사파리에서 redirect-uri에 # 붙는 현상
느낀점
- 오늘의 리트코드 문제는 뿌-듯 했습니다. ㅎㅎㅎ 어제 풀었던 문제와 유사한 문제가 나왔기 때문이죠! 그래서 보자마자 이건 파라메트릭 써-치다 싶어서 문제에서 찾는 값을 빠르게 정의하고 풀어냈습니다. 기분 좋네요! 이 맛에 알고리즘 공부 하시는가봅니다. 허허허허
- 프로젝트에서 토큰 재발행에 관련된 이슈를 확인했습니다. 코드의 문제라기 보다는 서로 기능상의 정의를 다르게 해서 그런 문제가 생겼던 것 같습니다.
내일 할 일
- LeetCode 데일리 문제 풀기
- Heart
- 토큰 재발행 기능 수정 - 마이페이지에서 생기는 부분인지 확인 필요
- 토큰 만료시 출력되는 예외 처리 로그 확인하기
- OAuth2 로그인 실패시 생기는 예외 처리의 description 수정