안녕하세요 박민성입니다.
오늘은 백준 10815번 숫자 카드를 풀어 보겠습니다.

입력은
첫 번째 줄에는 숫자 카드의 개수, 두 번째 줄에는 카드에 쓰인 숫자들이 띄어쓰기로 구분하여 입력이 들어옵니다.
세 번째 줄에는 지금 자신이 가지고 있는 카드 장수와 네 번째 줄에는 자신이 가진 카드의 숫자들이 차례대로 들어옵니다.
출력은 자신이 가진 카드 중 상근이가 가지고 있으면 1 아니면 0을 공백으로 구분하여 출력합니다.

저는 문제를 보고 Dictionary를 굳이 안써도 되지만 굳이 딕셔너리를 사용해서 int랑 bool을 받아서 푸는 방법을 생각했습니다.
int와 bool을 받은 이유는 두번째 줄에 들어온 수를 true로 바꿔줘서 네 번째 줄에 들어온 수를 딕셔너리랑 비교하여 있는지 없는지를 체크하기 위해서 사용하였습니다.
그리고 입력을 대충 받아줍니다.

foreach를 돌려서 두번째 줄에 들어온 카드 수들을 딕셔너리에서 true를 넣어줍니다.

그러고 네번째 줄에 들어온 수의 길이만큼 for문을 돌려줍니다. 그리고 count라는 int 변수를 선언하고 초기화도 되게 만들어 줍니다. 그리고 딕셔너리에 기능 중 ContainsKey라는 함수로 네 번째 줄에 들어온 수가 true면, 원래 딕셔너리에 있었다면 if문이 작동하여 count++을 해줍니다. 제가 원래는 숫자 카드 2를 풀다가 숫자 카드로 타고 들어와서 이렇게 되었는데요 원래는 그냥 1만 넣으면 되지만 굳이 이렇게 사용했습니다. 그러고 굳이 스트링빌더를 사용하여 count값과 공백을 더해서 넣어줍니다. 그러고 sb를 출력해 주면 끝입니다.

이것이 전체 코드입니다.
제출하실 때에는 using문까지 다 적어야합니다
이렇게 백준에 제출하였더니

정답이었습니다.
'알고리즘 C#' 카테고리의 다른 글
| 백준 2164번 카드2 C#으로 문제 풀어보기 (0) | 2025.10.16 |
|---|---|
| ★백준 1929번 소수 구하기 C#으로 문제 풀어보기★ (1) | 2025.09.27 |
| 백준 1316번 그룹 단어 체커 C#으로 문제 풀어보기 (0) | 2025.09.13 |
| ★백준 1920번 수 찾기 C#으로 문제 풀어보기★ (1) | 2025.08.24 |
| 백준 10773번 제로 C#으로 문제 풀어보기 (3) | 2025.08.19 |