HashMap(4)
-
[Programmers] 달리기 경주
https://school.programmers.co.kr/learn/courses/30/lessons/178871 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 처음에는 단순히 순서를 바꾸기 좋은 리스트를 활용해 위치를 변경하는 방식으로 풀었다가 시간 초과가 났다. 그래서 HashMap을 이용한 풀이로 바꾸어 해결하였다. 문제 조건에 players는 최대 5만 명이며 callings는 최대 100만이다. 따라서 리스트 방식으로 순차 접근하여 풀면 최악의 경우인 꼴등(5만등인) 선수만 100만번 부른 경우 5만 * 100만이라는 어마어마한 탐색..
2023.08.04 -
[Baekjoon] 9375번: 패션왕 신해빈
https://www.acmicpc.net/problem/9375 9375번: 패션왕 신해빈 첫 번째 테스트 케이스는 headgear에 해당하는 의상이 hat, turban이며 eyewear에 해당하는 의상이 sunglasses이므로 (hat), (turban), (sunglasses), (hat,sunglasses), (turban,sunglasses)로 총 5가지 이다. www.acmicpc.net 문제 설명 기본적인 조합 문제이다. 예제 1로 예를 들면 headgear라는 의상 종류에 hat, turban이라는 두 의상이 있고, eyewear에 suglasses라는 하나의 의상이 있다. 이 경우 {hat}, {turban}, {sunglasses},{hat, sunglasses}, {turban, ..
2023.04.14 -
[Baekjoon] 1302번: 베스트셀러
https://www.acmicpc.net/problem/1302 1302번: 베스트셀러 첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 주어진다. 이 값은 1,000보다 작거나 같은 자연수이다. 둘째부터 N개의 줄에 책의 제목이 입력으로 들어온다. 책의 제목의 길이는 50보다 작거나 같고 www.acmicpc.net 문제 설명 가장 많이 입력된 책을 출력한다. 가장 많이 입력된 횟수가 같을 경우 사전 순으로 출력한다. 풀이 방법 HashMap을 활용해서 해결했다. 간단한 문제이므로 바로 코드를 보자. import java.io.*; import java.util.*; import java.util.stream.Collectors; class Main { public static void main(Str..
2023.04.04 -
[Baekjoon] 1620번: 나는야 포켓몬 마스터 이다솜
https://www.acmicpc.net/problem/1620 문제 설명 문제가 엄청나게 길지만 요약하면 다솜이가 사용할 포켓몬 도감을 만들어줘야 한다. N개만큼 포켓몬 이름이 입력되며 순서가 있고 순서대로 저장된다. 그 다음 입력되는 질문 M개에 대해서 대답해야 한다. 숫자로 들어오는 경우 해당 번호에 해당되는 포켓몬 이름이 출력되고 포켓몬 이름이 들어오면 해당 번호가 출력돼야 한다. 풀이 방법 2개의 HashMap을 이용해 해결했다. 한 개는 번호를 키로 사용하고 값을 포켓몬 이름을 저장하고, 다른 하나는 키로 포켓몬 이름을 사용하고 값으로 번호를 저장한다. 그 다음엔 질문이 숫자인지 포켓몬 이름인지 판별해야 하는데 이 방법으론 두 가지가 있다. matches()를 활용한 정규식 첫 글자만 가져와..
2023.03.07