BOJ 1764
이 문제는 두 집합의 곱집합을 구해서 사전순으로 정렬하는 문제이다. 파이썬에서는 이것을 아주 쉽게 수행할 수 있다.
일단 두 수를 받아서 앞으로 입력받을 이름의 개수를 확인한다.
dc, bc = map(int, input().split())
그 다음 실제로 이름을 입력받아 그것을 set
형태의 변수에 저장한다. Generator를 사용하면 이것을 어렵지 않게 구현할 수 있다.
ds = set(input() for _ in range(dc))
bs = set(input() for _ in range(bc))
마지막으로, 입력받은 두 이름 집합의 곱집합을 구해서 그 길이와 내용을 출력한다. 여기서 이름은 사전순으로 정렬되어야 하기 때문에 sorted
함수를 사용해서 출력한다.
dbs = ds & bs
print(len(dbs))
print('\n'.join(sorted(dbs)))
Python으로 풀기에는 어렵지 않은 문제이다! C언어로 문제를 풀이할 때에는 이름의 사전순 정렬을 직접 구현해야 하는 것으로 알고 있는데, 이것때문에 쉽지 않은 문제에 속할 것이다. Solved.ac 레이팅이 실버 IV로 되어있는 데에는 이유가 있을 것이다.
문제 끝!
Author And Source
이 문제에 관하여(BOJ 1764), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@junhg0211/BOJ-1764저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)