-
[백준-10816] 숫자 카드 2 - Java공부/백준 2022. 6. 1. 19:14728x90
https://www.acmicpc.net/problem/10816
https://binsblog.tistory.com/33
위와 비슷한 유형이다.
위에서는 HashSet을 이용하였고, 이 문제에서는 HashMap을 이용하였다.
번호가 몇번 나왔는지 HashMap에 저장을 하고, 있는지 없는지에 따라 value 혹은 0을 문자열에 추가해 주었다.
처음에는 for문안에 바로 print문을 추가하여 출력하려 했지만, 시간초과로 인해 StringBuilder를 사용하였다.
코드
import java.util.*;public class back10816 {public static void main(String args[]){Scanner scanner = new Scanner(System.in);int num=scanner.nextInt();HashMap<Integer,Integer> map = new HashMap<>();StringBuilder sb=new StringBuilder();for(int i=0;i<num;i++){int temp=scanner.nextInt();if(map.containsKey(temp)){map.put(temp,map.get(temp)+1);}else{map.put(temp, 1);}}num=scanner.nextInt();for(int i=0;i<num;i++){int temp=scanner.nextInt();if(map.containsKey(temp)){sb.append(map.get(temp)).append(" ");} else{sb.append("0 ");}}System.out.println(sb);}}728x90반응형'공부 > 백준' 카테고리의 다른 글
[백준-1269] 대칭 차집합 - Java (0) 2022.06.02 [백준-1764] 듣보잡 - Java (0) 2022.06.02 [백준-1620] 나는야 포켓몬 마스터 이다솜 - Java (0) 2022.06.01 [백준-14425] 문자열 집합 - Java (0) 2022.05.31 [백준-10815] 숫자 카드 - Java (0) 2022.05.31