티스토리 뷰
https://www.acmicpc.net/problem/14425
👩💻교집합을 사용해 중복되는 문자열 개수 출력 : 틀렸습니다☠️
m, n = map(int, input().split())
mli = []
nli = []
for i in range(m):
mli.append(input())
for i in range(n):
nli.append(input())
print(len(set(mli) & set(nli)))
# 교집합을 사용해 중복되는 문자열의 개수 출력
데이터 형식이 set일 때는 중복은 포함하지 않기 때문에 같은 문자열이 두 번 등장하더라도 한 번밖에 카운팅 되지 못한다.
오답 예시
보는 것과 같이 a가 두 번 나오기 때문에 출력값이 2가 되어야하지만,
결과가 1인 것을 확인할 수 있다.
👩💻중복된 문자열도 포함되도록 코드 추가 : 성공🌈
m, n = map(int, input().split())
mli = []
nli = []
for i in range(m):
mli.append(input())
for i in range(n):
nli.append(input())
res = list(set(mli) & set(nli))
cnt = 0
for i in nli:
if i in res:
cnt += 1
print(cnt)
res = list(set(mli) & set(nli))
cnt = 0
for i in nli:
if i in res:
cnt += 1
# nli에 존재하는 문자열이 res(교집합에 해당하는 문자열) 리스트에도 있을 때 cnt += 1
print(cnt)
🚀결과🚀
정답은 맞았지만.. 시간이 무지 오래 걸린다...
'🦖 Programming > Python' 카테고리의 다른 글
[Python] 백준 알고리즘 2798번 : 블랙잭 (0) | 2022.09.07 |
---|---|
[Python] 백준 알고리즘 9375번 : 패션왕 신해빈 (0) | 2022.09.04 |
[Python] 백준 알고리즘 1159번 : 농구 경기 (0) | 2022.09.01 |
[Python] 백준 알고리즘 17478번 : 재귀함수가 뭔가요? (0) | 2022.09.01 |
[Python] 백준 알고리즘 10815번 : 숫자 카드 (0) | 2022.09.01 |
댓글