https://www.acmicpc.net/problem/22233
22233번: 가희와 키워드
1번째 글을 쓰고 난 후에, 메모장에 있는 키워드는 set, floyd, os가 됩니다. 2번째 글을 쓰고 난 후에, 메모장에 있는 키워드는 set, os가 됩니다. map은 1번째 글과 2번째 글에 중복으로 등장하였음을
www.acmicpc.net
처음에는 HashMap을 이용해서 키워드별로 숫자를 카운트해야하는 문제인줄 알아서 이 방식으로 구현했었는데, 자꾸 채점할 때 4%에서 올라가지 않아서 문제를 재확인해보았다.
알고보니 키워드의 갯수를 저장해야할 필요가 없는 문제였고, 한 번 사용하면 그 키워드는 메모장에 없는 걸로 간주되기 때문에 HashMap이 아니라 HashSet을 사용해야 하는 문제였다. 일부 코드를 수정한 뒤 간단하게 해결할 수 있었다. (정답률에 비해 매우 쉬운 문제라고 생각한다.)
문제
입출력 예제
코드
import java.util.Scanner;
import java.util.HashSet;
public class Main
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
HashSet<String> set = new HashSet<String>();
int n = sc.nextInt();
int m = sc.nextInt();
String buf = sc.nextLine();
StringBuilder sb = new StringBuilder();
for(int i=0; i<n; i++)
{
String temp = sc.nextLine();
if(!set.contains(temp))
{
set.add(temp);
}
}
for(int i=0; i<m; i++)
{
String[] temp = sc.nextLine().split(",");
for(int j=0; j<temp.length; j++)
{
if(set.contains(temp[j]))
{
set.remove(temp[j]);
}
}
sb.append(set.size() + "\n");
}
Syste m.out.print(sb.toString());
sc.close();
return;
}
}
'[ 다먹살 ] > - Coding' 카테고리의 다른 글
[구름] 레벨1 뱀이 지나간 자리 (2) | 2023.04.07 |
---|---|
[프로그래머스] 레벨0 이진수 더하기 (2) | 2023.03.20 |
[프로그래머스] 레벨0 겹치는 선분의 길이 (2) | 2023.03.13 |
[프로그래머스] 레벨2 무인도 여행 (6) | 2023.03.09 |
[프로그래머스] 레벨1 기사단원의 무기 (4) | 2023.03.08 |
댓글