1. 문제 2. 정답 코드 def solution(n, lost, reserve): # lost와 reserve에서의 중복 제거; 차집합 사용 _reserve = list(set(reserve) - set(lost)) _lost = list(set(lost) - set(reserve)) for x in _reserve: if x-1 in _lost: _lost.remove(x-1) elif x+1 in _lost: _lost.remove(x+1) answer = n - len(_lost) return answer 문제의 마지막 제한사항 때문에 가장 먼저 lost와 reserve에서의 중복을 제거해야 한다. remove(값): 리스트에서 첫 번째로 등장하는 값을 삭제한다. 개인적으로 정말 안 풀리던 문제였..
1. 문제 2. 정답 코드 def fibo(n) : if n == 0 : return 0 elif n == 1 : return 1 else : l, r = 0, 1 for i in range(n-1) : l, r = r, (l + r) % 1234567 return r def solution(n): answer = fibo(n) return answer 재귀 함수 사용 시 시간 초과 및 런타임 에러 발생 ➡️ for문을 통한 다이나믹 프로그래밍 사용 8번째 줄: (l + r) % 1234567에서 1234567을 나누는 이유는 다른 언어의 경우 오버 플로우가 발생할 수도 있기 때문 { f(n-1) + f(n-2) } % 1234567은 f(n-1) % 1234567 + f(n-2) % 1234567과 같음
✅ 2024-03-23 내용 추가 내용 구성 원인 파악 해결 방법 참고 원인 파악 문제 상황 Node.js에서 MySQL을 사용하려던 차, 연결 코드를 작성하고 실행하니 1251 오류가 발생하였다. 검색 결과, 클라이언트 프로그램이 MySQL 패스워드 플러그인인 'caching_sha2_password'를 소화하지 못하기 때문에 발생한다고 한다. caching_sha2_password MySQL 8.0에서부터 사용되는 기본 인증 플러그인이다. 데이터베이스 유저의 비밀번호를 SHA-256 알고리즘 기반으로 암호화하여 저장한다. 보안성이 높고, 무단으로 비밀번호를 해독하기 어렵다는 장점이 있다. 그러나 이 방식은 종종 호환성 문제가 발생하는데, 바로 위 같은 경우이다. Node.js에서 설치한 MySQL용 ..