듣보잡이라는 말도 벌써 한참 지난 유행어인가... Latte는 쓰고 다녔는데(^,^..)
듣도 못한 사람, 보도 못한 사람의 명단이 출력된다.
그 명단 중 겹치는 사람을 '듣도보도 못한 사람'(듣보잡)이라고 정의한다.
그리고 우리가 출력해야 할 것이 그 명단이다.
명단에 있는 사람의 수, 그리고 사전순(오름차순)으로 명단을 출력하면 된다.
처음에는 듣도 못한 사람의 배열, 보도 못한 사람의 배열을 각각 append받아서
그 두 가지를 비교하는 것을 생각했다. 당연히 시간초과가 난다. 제한시간은 2초다.
한 3~4초였으면 이것도 되긴 됐을 것같은데, 제한 시간이 걸려있기 때문에 패스.
그렇다면 집합을 이용하면 어떨까?
고등학교 1학년, 수학을 시작하겠다는 다짐으로 가장 열심히 필기 된 단원 '집합'.(그 뒤는 깨끗)
우리는 여기서 교집합을 이용해본다.
그러기 위해서는 먼저 듣잡, 보잡 명단을 배열선언하여 append할 것이 아니라 set로 정의해야한다.
반복문 내에서 append 대신 add를 써주면 된다.
그리고 교집합은 list로 저장한다. list(듣잡&보잡).
오름차순으로 출력해야하므로 sort해주고, 명단의 인원수를 출력하기 위해 len()을 사용한다.
마지막으로 명단을 출력해주면 끝!
'공부 > 백준' 카테고리의 다른 글
[백준] 1789번 (0) | 2022.06.15 |
---|---|
[백준] 13305번 (0) | 2022.06.15 |
[백준] 1205번 (0) | 2022.06.15 |
[백준] 1436번 (0) | 2022.06.15 |
[백준] 11050번 (0) | 2022.06.15 |