일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- bfs
- HTTP
- HashMap
- 해시맵
- 도커
- 인텔리제이
- 해결
- dfs
- 코딩테스트
- IntelliJ
- 자료구조
- 배열
- docker
- Linux
- 이직
- 프로그래머스
- 구현
- 스타트업
- 백엔드
- 주니어
- spring boot
- spring
- 개발자
- 구름LEVEL
- 스프링
- 명령어
- 스프링 부트
- Java
- 문자열
- 스프링부트
- Today
- Total
목록해시맵 (4)
마이의 개발 블로그
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 방식 달리기를 하며 이름이 불리는 선수와 그 선수의 바로 앞에 있는 선수의 순위(위치)를 바꾸어주면 되는 문제이다. 범위를 벗어나는(1등 선수) calling 은 없으므로 별도의 순위변경에 대한 예외처리는 필요없었다. 다만 복잡도를 줄이기 위해 이중 반복문을 통한 탐색이 아닌 해시맵을 활용한 탐색 및 등수의 변경으로 로직을 만들어야했다. 인풋값이 각각 50,000과 100,000이였기 때문이다. 로직 설명 - 선수들의 순위를 이름으로 바로 접근할 수 있도록 map을 선언하여 이름과 순위를 key, val..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 딱히 어려운 문제는 아니다보니 금방 해결되었다. - 알파뱃별 최소 클릭 숫자를 저장할 해시맵 선언 - keymap을 탐색하며 key의 최소 클릭수를 맵에 저장 - targets의 각 문자열을 탐색하며 1) (문자열의 알파뱃이 맵에 없는 경우) answer에 -1 저장 후 break 2) (문자열의 알파뱃이 맵에 있는 경우) 문자열의 각 알파뱃 최소 클릭수를 map에서 가져와 answer에 더하기 import java.util.*; class Solution { public int[] solution(Strin..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 방식 해시맵 두 개를 활용하여 간단하게 해결할 수 있는 문제였다. 로직 설명 - 해시맵 map을 선언하여 want와 number 배열로부터 목표로 하는 할인 정보(제품명, 수량) 저장 - (discount 배열을 탐색하며) 해시맵 dMap을 선언하여 일별로 10일 간의 할인 정보 저장 - 생성된 dMap과 map을 비교하여 수량이 다른 경우 isIdentical 변수 false로 지정 - 두 해시맵이 동일하면 answer 증가 작성 코드 import java.util.*; class Solution { ..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음에는 메시지를 먼저 만들어주고 나중에 마지막 닉네임으로 전부 교체해주는 식으로 접근하였으나, 시간초과와 런타임 에러가 나서 접근방식을 바꾸고 해결된 문제이다. - record를 한 바퀴 돌며 id에 해당하는 마지막 닉네임을 map에 저장 (key: 아이디, value: 닉네임) - 같은 반복문 안에서 Change 명령어를 제외한 Enter, Leave의 경우에만 list에 저장 - list 사이즈만큼 String[] answer 생성 - map.get 메서드로 ID 가져오기 (중요) - Enter, Lea..