sm 기술 블로그
94. 1764(듣보잡) 본문
import sys
input = sys.stdin.readline
N, M = map(int, input().split())
whoIs = list(input().strip() for _ in range(N))
name = list(input().strip() for _ in range(M))
cnt = 0
result = []
whoIsDic = {whoIs[i]: 1 for i in range(len(whoIs))}
for val in name:
try:
whoIsDic[val]
cnt += 1
result.append(val)
except:
continue
resultSorted = sorted(result, key=lambda x: (x))
print(str(cnt))
print("\n".join(resultSorted))
문제 요약
진영씨가 듣지도 보지도 못한 사람을 출력해라.
해설
기존 데이터사전 정리하는것에서 추가로 사전순으로 정렬을 해야 하는 문제이다.
먼저
위에는 듣보잡 목록이고 아래는 입력값으로 생각하면 된다.
for val in name:
try:
whoIsDic[val]
cnt += 1
result.append(val)
except:
continue
몇명인지와 누군지를 출력하기위해 예외없이 정상적으로 데이터 사전이 조회되면 cnt를 1씩 증가시켜준다.
사람 이름은 result에 저장한다.
resultSorted = sorted(result, key=lambda x: (x))
사람이름을 사전순으로 (오름차순) 정렬해주었다.
print(str(cnt))
print("\n".join(resultSorted))
숫자 먼저 출력 후 join을 이용하여 \n을 추가시켜 출력해주었다.
'문제 > 백준_파이썬' 카테고리의 다른 글
96. 11478(서로 다른 문자열의 개수) (0) | 2022.06.21 |
---|---|
95. 1269(대칭 차집합) (0) | 2022.06.21 |
93. 10816(숫자 카드2) (0) | 2022.06.19 |
92. 1620(나는야 포켓몬 마스터 이다솜) (0) | 2022.06.19 |
91. 14425 (문자열 집합) (0) | 2022.06.19 |
Comments