본문 바로가기

전체 글22

[JAVA] 코드트리 메신저 변수 정보$1 ≤ Q (명령의 수) ≤ 100,000$$1 ≤ N (채팅방의 수) ≤ 100,000$$1 ≤ D (주어지는 이진트리의 최대 깊이) ≤ 20$$1 ≤ p_{i} ≤ N$$1 ≤ a_{i}, c, power, c_{1}, c_{2} ≤ N$$c_{1} \neq c_{2}$ 생각의 흐름위와 같이 변수가 주어졌을 때, (1) 사내 메신저 준비, (2) 알림망 On/Off 설정, (3) 권한 세기 변경, (4) 부모 채팅방 교환 을 수행해야 됨(2), (3), (4) 명령에 따라 자식의 값이 변하면 부모에게 영향이 가기 때문에, 트리 구조를 사용해야 된다고 생각함처음 생각했던건 트리, DFS, DP를 사용해서 문제를 풀이해야겠다고 생각했음.근데 여기서 나의 문제점: 변수를 어떻게 사용할지에 대해는.. 2025. 3. 22.
Spring boot undefined/unknown Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] Database driver: undefined/unknown Database version: 8.0.40 Autocommit mode: undefined/unknown Isolation level: undefined/unknown Minimum pool size: undefined/unknown Maximum pool size: undefined/unknown오랜만에 개발을 하려는데 DB 연결부터 이상한 현상이 발생했다. 분명 gradle, application.yml을 잘 설정했는데데이터베이스가 제대로  연결되지 않는 것 같았다. 정확한 이유는 파악하지.. 2024. 12. 16.
최장증가부분수열의 길이를 이분탐색으로 구하는 방법 https://eatchangmyeong.github.io/2022/01/20/why-is-lis-algorithm-so-confusing.html LIS 알고리즘은 왜 그렇게 헷갈리는 걸까?가장 긴 증가하는 부분 수열(longest increasing subsequence; LIS)은 어떤 수열이 주어질 때 그 수열의 증가하는 부분 수열(연속하지 않아도 됩니다) 중 가장 긴 것을 찾는 문제입니다. 이 문제를 푸는 여eatchangmyeong.github.io 직접 정리하려고 했으나,,,, 나중에 시간내서 꼭 쓸 것임,,, 다른 글은 봐도 이해가 잘 안됐는데, 위의 글에 그래프로 표현해서 알려주는 글 보고 이해가 잘 됐음!!!!!! 이 글을 보고 심심한 감사의 인사 드립니당!!!!!! 🙏 2024. 9. 24.
비트마스킹에 대해 알아보자 이진수를 이용해 boolean배열을 표현할 수 있다. 예를들어 4는 100, 2는 0101은 true, 0은 false로 나타낼 수 있음boolean 배열의 크기가 크다면 비트마스킹을 사용하는게 효율적일 수 있음하나의 숫자를 만들어서 비트 연산자를 통해 탐색, 수정 작업을 하는 것! 비트연산자&비트단위로 AND연산|비트 단위로 OR 연산^비트 단위로 XOR연산비교하려는 두 비트가 다르면 true, 같으면 false~피연산자의 모든 비트 반전피연산자의 비트 열을 왼쪽으로 이동a >>피연산자의 비트 열을 오른쪽으로 이동a >> b는 a / (2 ^ b)와 같은 의미 2의 보수음수를 표현할 때 2의 보수법을 이용함해당 양수의 모든 비트를 반전한 수에 1을 더하는 방식-value = ~value + 1 이므로 .. 2024. 9. 6.
4장. 처리율 제한 장치의 설계 네트워크 시스템에서 처리율 제한 장치(rate limiter)는 클라이언트 또는 서비스가 보내는 트랙의 처리율 을 제어하기 위한 장치이다. 처리율 제한 장치의 사용 예시HTTP는 특정 기간 내에 전송되는 클라이언트의 요청 횟수를 제한함API 요청 횟수가 제한 장치에 정의된 임계치를 넘어서면 추가로 도달한 모든 호출은 처리가 중단됨e.g) 사용자는 초당 2회 이상 새 글을 올릴 수 없음e.g) 같은 IP 주소로는 하루에 10개 이상의 계정을 생성할 수 없음e.g) 같은 디바이스로는 주당 5회 이상 리워드를 요청할 수 없음 처리율 제한 장치 사용 장점DoS(Denial of Service) 공격에 의한 자원 고갈을 방지비용 절감추가 요청에 대한 처리를 제한하면 서버를 많이 두지 않아도 되며, 우선순위가 높은.. 2024. 6. 25.
3장. 시스템 설계 면접 공략법 효과적 면접을 위한 4단계 접근법1단계. 문제 이해 및 설계 범위 확정 깊이 생각하고 질문하여 요구사항과 가정들을 분명히 하자 2. 개략적인 설계안 제시 및 동의 구하기개략적인 설계안을 제시하여 면접관의 동의를 얻자. 이 과정에서 면접관과 협력하면 좋다.가능하다면 시스템의 구체적 사용 사례도 찾아보자. 3. 상세 설계설계 대상 컴포넌트 사이의 우선순위를 정하자.시간 관리를 위해 불필요한 세부사항에 시간을 사용하지 말자. 4. 마무리설계한 시스템에 대해 개선 가능한 지점을 찾아내보자.여러 해결책을 제시한 경우 설계에 대해 다시 한 번 요약하는 것이 도움이 될 수 있다.오류가 발생하면 무슨 일이 생기는지 따져보는 것도 좋다.운영 이슈에 대해서도 고려해보자.메트릭은 어떻게 수집하고 모니터링은? 로그는? 시스템.. 2024. 6. 20.