반응형

파이썬 집합 3

[파이썬, Python] 백준 11478: 서로 다른 부분 문자열의 개수

문제 https://www.acmicpc.net/problem/11478 11478번: 서로 다른 부분 문자열의 개수 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000 이하이다. www.acmicpc.net 코드 s = input() text = set() for i in range(len(s)): for j in range(i, len(s)): text.add(s[i:j+1]) print(len(text)) 설명 이중 반복문을 통해 해결했다. 우선 i의 범위를 s의 개수로 잡아주고, j의 범위를 i부터 s의 개수로 잡아주어 모든 문자열을 돌 수 있게 하고, i부터 j+1까지의 범위를 text에 추가하여 부분 문자열을 구한다. 이 때, text는 set 형태의 자..

[파이썬, Python] 백준 1269: 대칭 차집합

문제 https://www.acmicpc.net/problem/1269 1269번: 대칭 차집합 첫째 줄에 집합 A의 원소의 개수와 집합 B의 원소의 개수가 빈 칸을 사이에 두고 주어진다. 둘째 줄에는 집합 A의 모든 원소가, 셋째 줄에는 집합 B의 모든 원소가 빈 칸을 사이에 두고 각각 주어 www.acmicpc.net 코드 import sys input = sys.stdin.readline n, m = map(int, input().split()) a = set(map(int, input().split())) b = set(map(int, input().split())) print(len(a-b)+len(b-a)) 설명 set을 통해서 집합의 계산을 통해 풀이했다. set은 파이썬에서 중복을 제거할 ..

[파이썬, Python] 백준 1764: 듣보잡

문제 https://www.acmicpc.net/problem/1764 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. www.acmicpc.net 코드 n, m = map(int, input().split()) a = set() for i in range(n): a.add(input()) b = set() for i in range(m): b.add(input()) result = sorted(list(a & b)) print(len(result)) for i in result: print(i) 설명 우선 set을 통해 각 명단을 받..

반응형