
오늘은 2023 KAKAO BLIND RECRUITMENT 기출 문제를 풀어보려한다.문제 링크는 다음과 같다.나는 코틀린으로 문제를 풀었다. 문제를 정리해보자.✅ 문제 핵심개인정보 수집일과 약관 유효기간이 주어진다.모든 달은 28일까지 있다고 가정 → 1개월 = 28일개인정보는 수집일 + 약관 유효기간(월 수)만큼 지난 다음 날부터 파기해야 한다.오늘 날짜(today)가 파기 시작일(= 수집일 + 유효기간)과 같거나 이후라면 해당 개인정보를 파기 대상에 포함시킨다.결과는 파기 대상 개인정보 번호(1번부터 시작)를 오름차순으로 반환한다. ✅ 자료구조 설계terms 정보:"A 6", "B 12"처럼 약관 종류와 유효기간(월)을 문자열 배열로 받음.이를 쉽게 조회하기 위해 Map 으로 변환 (약관 종류 -..

오늘은 2024 카카오 WINTER INTERNSHIP 기출 문제를 풀어보려한다.문제 링크는 다음과 같다.나는 코틀린으로 문제를 풀었다.문제를 정리해보자.✅ 문제 핵심각 친구쌍 A-B에 대해A가 B에게 더 많이 선물 줬으면 → B는 A에게 1개 받는다.같거나 주고받은 기록이 없으면 → 선물지수가 높은 쪽이 1개 받는다.선물지수도 같으면 아무 일도 없다.✅ 자료구조 설계nameToIndex: 이름 → 인덱스 변환 (빠른 조회용)giftMatrix[i][j]: i번 사람이 j번 사람에게 준 선물 수giftGiven[i]: i번 사람이 총 준 선물 수giftReceived[i]: i번 사람이 총 받은 선물 수nextMonthGifts[i]: i번 사람이 다음 달에 받을 선물 수 처음 작성한 코드는 다음과 같다..

도커로 PostgreSQL을 설치하려고 아래의 명령어를 입력했더니 이런 에러가 발생했다.docker run -d \ --name poi-postgres \ -e POSTGRES_USER=poiuser \ -e POSTGRES_PASSWORD=poipass \ -e POSTGRES_DB=poidb \ -p 5432:5432 \ postgis/postgis 에러 메시지:docker: Error response from daemon: no matching manifest for linux/arm64/v8 in the manifest list entries: no match for platform in manifest: not found 내가 사용하는 Mac이 ARM 아키텍처(M1/M2/M3) 기반..

처음 이 문장을 읽었을 때 auto_increment 속성이 설정된 관계형 데이터베이스의 기본 키를 쓰면 되지 않을까?하고 생각했다.하지만 분산 환경에서 이 접근법은 데이터베이스 서버 한 대로는 요구를 감당할 수 없을 뿐더러, 여러 데이터베이스 서버를 쓰는 경우에는 지연시간(delay)를 낮추기가 힘들기 때문에 통하지 않는다는 것을 깨달았다. 역시 대규모 시스템 설계시엔 고려해야할 부분이 많은 것 같다. 요구사항이 다음과 같을 때 ID는 유일해야 한다.ID는 숫자로만 구성되어야 한다.ID는 64비트로 표현될 수 있는 값이어야 한다.ID는 발급 날짜에 따라 정렬 가능해야 한다.초당 10,000개의 ID를 만들 수 있어야 한다.분산 시스템에서 유일성이 보장되는 ID를 만드는 방법들에 대해 알아보자. 1. 다..

네트워크 시스템에서는 클라이언트 또는 서비스가 보내는 트래픽의 처리율을 제어하기 위한 처리율 제한 장치(rate limiter)가 필요한데, 처리율 제한 장치와 처리율 제한 알고리즘에 대해 알아보자. 1. 토큰 버킷 알고리즘 (token bucket)지정된 용량을 갖는 컨테이너이 버킷에는 사전 설정된 양의 토큰이 주기적으로 채워짐. 토큰이 꽉 찬 버킷에는 더 이상의 토큰은 추가되지 않는데, 토큰 공급기가 이 버킷에 매초 2개의 토큰을 추가하고, 버킷이 가득 차면 추가로 공급된 토큰은 버려지는 구조각 요청이 처리될 때마다 하나의 토큰을 사용하고 요청이 도착하면 버킷에 충분한 토큰이 있는지 검사하고, 충분한 토큰이 있는 경우 버킷에서 토큰 하나를 꺼낸 후 요청을 시스템에 전달한다. 충분한 토큰이 없는 경우,..

이 포스팅은 이전 포스팅과 이어지므로 이전 포스팅을 먼저 보기를 권장한다.이번 포스팅에서는 현재 프로젝트의 구조와 MSA로 전환하기 위해 어떤 과정이 필요한지 알아보자. ✨ 시리즈 구성1. OTP 기반 2단계 인증 시스템 직접 구현해보기 - 1 시스템 아키텍처 및 3단계 인증 흐름 2. OTP 기반 2단계 인증 시스템 직접 구현해보기 - 2 인증 서버를 구현해보자.3. OTP 기반 2단계 인증 시스템 직접 구현해보기 - 3 비즈니스 논리 서버를 구현해보자.4. OTP 기반 2단계 인증 시스템 직접 구현해보기 - 4 인증 서버와 비즈니스 논리 서버가 잘 동작하는지 확인해보자.5. OTP 기반 2단계 인증 시스템 직접 구현해보기 - 5 멀티 모듈 구조를 MSA 구조로 리팩토링해보자. 5-1. 현재 프로..

이 포스팅은 이전 포스팅과 이어지므로 이전 포스팅을 먼저 보기를 권장한다.이번 포스팅에서는 현재 프로젝트의 구조와 MSA로 전환하기 위해 어떤 과정이 필요한지 알아보자. ✨ 시리즈 구성1. OTP 기반 2단계 인증 시스템 직접 구현해보기 - 1 시스템 아키텍처 및 3단계 인증 흐름 2. OTP 기반 2단계 인증 시스템 직접 구현해보기 - 2 인증 서버를 구현해보자.3. OTP 기반 2단계 인증 시스템 직접 구현해보기 - 3 비즈니스 논리 서버를 구현해보자.4. OTP 기반 2단계 인증 시스템 직접 구현해보기 - 4 인증 서버와 비즈니스 논리 서버가 잘 동작하는지 확인해보자.5. OTP 기반 2단계 인증 시스템 직접 구현해보기 - 5 멀티 모듈 구조를 MSA 구조로 리팩토링해보자. 5-1. 현재 프로..
- Total
- Today
- Yesterday
- 해커랭크 챌린지
- 정보처리 산업기사
- 이코테
- 코드
- 풀이
- 22 정보처리산업기사
- hackerrank
- 디버깅
- 정보처리산업기사 공부법
- hackerrank challenges
- 22 정보처리 산업기사
- 챌린지
- ORM
- challenges
- Spring Security
- Java
- 알고리즘
- 자바의 정석
- 해커랭크 자바 챌린지
- 코틀린
- Kotlin
- JPA
- 그리디
- 해커랭크 자바
- 자바
- 소스코드
- 백준
- 강의
- 해커랭크
- 정보처리산업기사
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |