목록해시를 사용한 집합과 맵 (4)
홍우진의 개발 일기장
문제 링크 https://www.acmicpc.net/problem/5568 풀이 코드 from itertools import permutations n, k = int(input()), int(input()) cards = [input().rstrip() for _ in range(n)] res = set() for per in permutations(cards, k): res.add(''.join(per)) print(len(res)) 코드 해석 순열을 이용하여 풀면 되는데 permutations() 를 사용하면 순열을 쉽게 구할 수 있다.
문제 링크 https://www.acmicpc.net/problem/2776 2776번: 암기왕 연종이는 엄청난 기억력을 가지고 있다. 그래서 하루 동안 본 정수들을 모두 기억 할 수 있다. 하지만 이를 믿을 수 없는 동규는 그의 기억력을 시험해 보기로 한다. 동규는 연종을 따라 다니며, www.acmicpc.net 풀이 코드 for _ in range(int(input())): a = int(input()) su1 = set(map(int, input().split())) b = int(input()) su2 = list(map(int, input().split())) for n in su2: print(1 if n in su1 else 0) 코드 해석 간단하게 풀 수 있는 문제이다. 수를 받은 뒤 s..
문제 링크 https://www.acmicpc.net/problem/17219 17219번: 비밀번호 찾기 첫째 줄에 저장된 사이트 주소의 수 N(1 ≤ N ≤ 100,000)과 비밀번호를 찾으려는 사이트 주소의 수 M(1 ≤ M ≤ 100,000)이 주어진다. 두번째 줄부터 N개의 줄에 걸쳐 각 줄에 사이트 주소와 비밀번 www.acmicpc.net 풀이 코드 import sys n, m = map(int, sys.stdin.readline().split()) site = {} for _ in range(n): id, pw = map(str, sys.stdin.readline().split()) site[id] = pw for _ in range(m): address = str(sys.stdin.rea..
문제 링크 https://www.acmicpc.net/problem/1302 1302번: 베스트셀러 첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 주어진다. 이 값은 1,000보다 작거나 같은 자연수이다. 둘째부터 N개의 줄에 책의 제목이 입력으로 들어온다. 책의 제목의 길이는 50보다 작거나 같고 www.acmicpc.net 풀이 코드 n = int(input()) dic = {} for i in range(n): a = input() if a not in dic: dic[a] = 1 else: dic[a] += 1 list = [] num = max(dic.values()) for i in dic: if num == dic[i]: list.append(i) list.sort() print(list[..