쓰인 문제: 완주하지 못한 선수 · 의상 선언default V getOrDefault(Object key, V defaultValue)Java 8에서 Map 인터페이스에 default 메서드로 추가됐다. HashMap, TreeMap, LinkedHashMap 등 모든 Map 구현체에서 쓸 수 있다.인자의미key찾을 키defaultValue키가 없을 때 대신 돌려줄 값키가 있으면 저장된 값을, 없으면 defaultValue를 반환한다. 동작Map map = new HashMap();map.put("headgear", 2);map.getOrDefault("headgear", 0); // 2 — 있으니까 저장된 값map.getOrDefault("eyewear", 0); // 0 — 없으니까 ..
연습 문제: 폰켓몬 · 완주하지 못한 선수 · 전화번호 목록 · 의상 해시란키를 넣으면 값이 저장된 위치를 바로 계산해서 찾아가는 자료구조다.배열은 인덱스(0, 1, 2…)를 알면 바로 꺼낼 수 있다. 하지만 "leo" 같은 문자열로는 배열 위치를 알 수 없다. 해시는 키를 해시 함수에 넣어 숫자(해시값)로 바꾸고, 그 숫자로 배열 위치(버킷)를 정한다."leo" → hashCode() → 107030 → 버킷 7"kiki" → hashCode() → 3291964 → 버킷 14"eden" → hashCode() → 3108232 → 버킷 7 (leo와 충돌)버킷 수가 16일 때 Java HashMap은 (h ^ (h >>> 16)) & 15 로 위치를 정한다. 해시값의 상위 비트를 하위 비트에 섞..
문제: https://school.programmers.co.kr/learn/courses/30/lessons/42578유형: 해시풀이 저장소: GitHub 문제 요약옷 목록이 [이름, 종류] 쌍으로 주어진다. 종류마다 최대 한 개씩 입고, 최소 한 개는 입어야 할 때 서로 다른 조합의 수를 구한다. 왜 해시일까?문제에서 본 부분신호그래서종류별로 최대 한 가지만 입는다종류별로 묶는다종류를 키로서로 다른 조합의 수를 구한다조합 목록이 아니라 개수를 묻는다종류별 옷 개수만 있으면 된다 → 값에 개수종류가 "headgear", "eyewear" 같은 문자열배열 인덱스로 쓸 수 없고 무엇이 나올지 모른다HashMap"~별 개수"는 해시의 대표 신호다. 이 문제는 입력이 30개로 작아서 속도보다는 종류별로 묶어 ..
문제: https://school.programmers.co.kr/learn/courses/30/lessons/42577유형: 해시풀이 저장소: GitHub 문제 요약전화번호 목록에서 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false, 없으면 true를 반환한다. 왜 해시일까?문제에서 본 부분신호그래서접두어인 경우가 있으면 false, 없으면 true있다/없다만 묻는다개수는 필요 없다 → 값 없는 HashSetphone_book 길이 1 이상 1,000,000 이하입력이 매우 크다번호끼리 모두 비교하면 O(N²), 약 1조 번전화번호 길이 1 이상 20 이하번호가 짧다한 번호를 잘라서 물어보는 횟수는 최대 19번세 번째 줄이 풀이의 열쇠다. 번호끼리 비교하는 대신, 번호를 잘라서 그 조각이 목록..
문제: https://school.programmers.co.kr/learn/courses/30/lessons/42576유형: 해시풀이 저장소: GitHub 문제 요약마라톤 참가자 명단과 완주자 명단이 주어진다. 완주하지 못한 단 한 명의 이름을 구한다. 왜 해시일까?문제를 처음 읽을 때 세 군데를 본다.문제에서 본 부분신호그래서완주자 명단에 없는 참가자를 찾는다이름(값)으로 찾는다이름을 키로 바로 찾는 구조가 필요"참가자 중에는 동명이인이 있을 수 있습니다."개수를 세야 한다있다/없다(Set)로는 부족, 값에 사람 수(Map)"마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다."입력이 크다이름마다 명단을 처음부터 찾으면 O(N²), 약 100억 번값으로 찾고, 개수를 세고, N이 ..
문제: https://school.programmers.co.kr/learn/courses/30/lessons/1845유형: 해시풀이 코드: GitHub문제 요약N마리 중 N/2마리를 고를 때, 고른 폰켓몬의 종류 수가 최대 몇인지 구한다.(고르는 방법의 수가 아니라, 고른 것 안의 종류 수)접근답의 상한이 두 개 있다.뽑는 수 N/2 — 3마리를 고르면 모두 달라도 3종류를 넘을 수 없다.전체 종류 수 — 2종류밖에 없으면 몇 마리를 골라도 2종류를 넘을 수 없다.둘 중 작은 값이 답이다.답 = min(N/2, 종류 수) 입력N/2종류 수답[3,1,2,3]232[3,3,3,2,2,4]333[3,3,3,2,2,2]322종류 수는 HashSet에 모두 넣고 size()로 구한다. 중복은 Set이 걸러준다..
회사에서 최근에 아키텍처 개선 및 프로젝트를 리빌딩 하면서 API 규격을 설계하는 작업을 맡았다. 이 작업에 도움이 될까 하여 '자바 API 디자인'이라는 책을 읽기로 결심했고,도움이 될만한 무장들을 기록해본다. 1장. 현대 소프트웨어 구축의 예술내가 생각했을 때 1장의 핵심은 다음과 같다.'왜'라는 것의 의미개인적으로 '왜'라는 질문을 아주 좋아한다.회사에서 어떤 일을 하라고 업무를 받았을 때 '왜 이걸 개발해야하나요?' 라고 질문하곤한다.혹자는 이 '왜'라는 질문을 '하기싫다'는 의미로 받아들이는 분들도 있던데내가 이 질문을 하는 이유는 사실언제 이 API가 필요한지,무엇을 위해 이 API가 필요한지 파악해어떻게 더 잘 만들것인가를 파악하기 위해서다.결국 이 책은 API 설계 및 디자인에 관한 책..
쏟아지는 데이터를 실시간으로 흘려보내고(스트리밍), 쌓인 데이터를 뒤져서 인사이트를 뽑아내는(분석) 도구들Kinesis Data Streams (Amazon Kinesis Data Streams)실시간으로 밀려드는 데이터를 순서대로 받아 여러 소비자(Consumer)가 동시에 읽게 해주는 실시간 스트림.샤드(Shard) 단위로 처리량 결정 - 샤드 1개당 쓰기 1MB/s·1,000건/s, 읽기 2MB/s. 트래픽 늘면 샤드를 늘린다(수동 or on-demand 모드)데이터 보관(retension) 기본 24시간, 최대 365일 → 같은 데이터를 여러 앱이 나중에 다시 읽을 수 있음.(재생 replay 가능)순서 보장은 같은 샤드 안에서만 - partition key로 어느 샤드에 들어갈지 결정소비자 : ..
2026.08.21 개발바닥 오픈채팅방에서LOOP:TALK 개발자 모임이 있다는걸 확인하고 신청해서 다녀왔다. 혼자 참석한거라 아는 사람이 없어서긴장을 많이 했는데 생각보다 다른 분들과 대화도 많이 하고 명함도 교환할 수 있었다. 혼자오신 분들도 꽤 많았고, 걱정과 달리 다른 사람들과 잘 친해질 수 있도록 많이 도와주셨다. 혹시 혼자 가는것이 걱정이 되시는 분들은 크게 걱정하지 않으셔도 될 것 같다. 세션이 생각보다 다양하게 준비돼있었다. 처음보는 분들과 각자 회사에서(혹은 취준하면서) 업무에 대해 하고 있는 고민과 커리어 고민 등에 대해 많은 얘기도 나누고, 루프팩 백엔드 과정에 대해 설명도 들었다.간식(햄버거)을 먹고 나서는 멘토분들에게 궁금한 것들을 질문하고, 답변을 들을 수도 있었다. ..
IAM (Identity And Access Management)누가(사용자 역할) 무엇을(정책) 할 수 있는지를 정하는 AWS의 출입 통제 시스템EC2 Instance Profile (EC2 인스턴스 프로파일)EC2에 역할 씌우는 상자EC2 안 코드가 키 파일 없이도 S3에 접근시험포인트EC2 앱이 S3에 접근해야한다, 가장 안전한 방법은? → IAM 역할(인스턴스 프로파일)STS (Security Token Service)임시 자격증명(만료 시간이 있는 액세스 키)를 발급해 주는 서비스AssuemRole“이 역할 잠깐 맡겨줘” 요청 → 임시 키 3종(액세스 키/시크릿/세션 토큰) 발급KMS (Key Management Service)데이터 암호화에 쓰는 암호 키를 안전하게 만들고 관리해 주는 서비스S..
- Total
- Today
- Yesterday
- 코틀린
- 코테준비
- Java
- 자바의 정석
- 정보처리산업기사
- 정보처리 산업기사
- 코딩테스트
- challenges
- 프로그래머스
- JPA
- 자바
- Kotlin
- hackerrank challenges
- 강의
- 알고리즘
- 22 정보처리산업기사
- 22 정보처리 산업기사
- hackerrank
- Spring Security
- 해커랭크 자바
- 챌린지
- 해커랭크 챌린지
- 그리디
- AWS
- 해커랭크
- 코드
- 소스코드
- 백엔드
- 해시
- 풀이
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
