```
백준 10816번 숫자카드 JAVA 구현해보기
```

이번 글을 통해 배워갈 내용
- 백준 10816번 풀이
https://www.acmicpc.net/problem/10816
10816번: 숫자 카드 2
첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,
www.acmicpc.net
백준 10816번 숫자카드는
난이도 실버 등급의 문제로서
숫자카드의 개수
숫자카드에 적힌 숫자들이 주어지고
찾을 카드의 개수
각 카드의 숫자가 주어지면
해당되는 카드의 개수를 출력해주면 되는 문제입니다.
예를 들어 1이 적힌 카드가 10개 2가 적힌 카드가 5개이고
1 2를 입력받으면
10 5 이렇게 출력해주면 됩니다.
30분 정도 위에 링크를 방문하셔서 풀어보시고
안 풀리시는 경우에만 아래 해답을 봐주시면 감사하겠습니다.
입력을 받고
cardSize와 coomandSize는 사용하지 않았습니다.
cards를 통해 cardMap에 해당되는 카드들의 정보를 업데이트하고
commands를 통해 cardMap을 호출하고 없는 카드면 getOrDefault를 이용해 0을 출력했습니다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) throws IOException {
// BufferedReader Object 생성
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// 입력
final int cardSize = Integer.parseInt(br.readLine());
List<Integer> cards = Arrays.stream(br.readLine().split(" ")).map(Integer::parseInt).collect(Collectors.toList());
final int commandSize = Integer.parseInt(br.readLine());
List<Integer> commands = Arrays.stream(br.readLine().split(" ")).map(Integer::parseInt).collect(Collectors.toList());
// 연산 및 출력
System.out.print(solution(cards, commands));
}
private static String solution(List<Integer> cards, List<Integer> commands) {
Map<Integer, Integer> cardMap = new HashMap<>();
cards.forEach(card -> cardMap.put(card, cardMap.getOrDefault(card, 0) + 1));
StringBuilder sb = new StringBuilder();
commands.forEach(num -> sb.append(cardMap.getOrDefault(num, 0)).append(" "));
sb.setLength(sb.length() - 1);
return sb.toString();
}
}
읽어주셔서 감사합니다
무엇인가 얻어가셨기를 바라며
오늘도 즐거운 코딩 하시길 바랍니다 ~ :)
728x90
'Java > Java 알고리즘' 카테고리의 다른 글
| 백준 18405번 경쟁적 전염 JAVA 구현해보기 (0) | 2022.06.25 |
|---|---|
| 백준 9375번 패션왕 신해빈 JAVA 구현해보기 (0) | 2022.06.19 |
| 백준 1932번 정수 삼각형JAVA 구현해보기 (0) | 2022.06.18 |
| 백준 23808번 골뱅이 찍기 - ㅂ JAVA 구현해보기 (0) | 2022.06.09 |
| 백준 23806번 골뱅이 찍기 - ㅁ JAVA 구현해보기 (0) | 2022.06.09 |