목록자료구조 (42)
기록방
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/chb9RL/btrK57HjGhY/7Hknii67SGeemKlPx6HHU0/img.png)
👉 문제링크 9375번: 패션왕 신해빈 첫 번째 테스트 케이스는 headgear에 해당하는 의상이 hat, turban이며 eyewear에 해당하는 의상이 sunglasses이므로 (hat), (turban), (sunglasses), (hat,sunglasses), (turban,sunglasses)로 총 5가지 이다. www.acmicpc.net 🔸 문제 분석 🔸 옷 이름과 종류를 입력받고, 입을 수 있는 의상 조합의 수를 구한다. 🔸 코드 🔸 for _ in range(int(input())): n = int(input()) weardict = {} for _ in range(n): wear = list(input().split()) if wear[1] in weardict: weardict[wea..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/pyrH2/btrK1h9E7hg/D1UNHRSkQlKEmgcqFg9TW1/img.png)
👉 문제링크 17219번: 비밀번호 찾기 첫째 줄에 저장된 사이트 주소의 수 N(1 ≤ N ≤ 100,000)과 비밀번호를 찾으려는 사이트 주소의 수 M(1 ≤ M ≤ 100,000)이 주어진다. 두번째 줄부터 N개의 줄에 걸쳐 각 줄에 사이트 주소와 비밀번 www.acmicpc.net 🔸 문제 분석 🔸 해시 맵 문제이다. 🔸 코드 🔸 import sys n, m = map(int, sys.stdin.readline().rstrip().split()) passwd = dict() for _ in range(n): i = sys.stdin.readline().rstrip().split() passwd[i[0]] = i[1] for _ in range(m): sys.stdout.write(passwd[sys..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bjPIUM/btrKHVzTReC/i7A3jZZJaLqrRYIm1XLvK0/img.png)
👉 문제링크 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. www.acmicpc.net 🔸 문제 분석 🔸 이름들을 n개 입력받고, 다시 m번 입력받아 겹치는 이름들을 체크한다. 해시를 활용하는 문제이다. 🔸 코드 🔸 import sys n, m = map(int, sys.stdin.readline().split()) name = set() answer = list() for i in range(n): name.add(sys.stdin.readline().rstrip()) for i in range(m): isin = sys.stdin..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/l0hVZ/btrKFETA4hd/W0aySAhLyV82YdJizF2x61/img.png)
👉 문제링크 1620번: 나는야 포켓몬 마스터 이다솜 첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수인데, 자연수가 뭔지는 알지? 모르면 www.acmicpc.net 🔸 문제 분석 🔸 포켓몬 이름을 입력받고, 번호 혹은 포켓몬 이름으로 검색, 출력한다. 🔸 코드 🔸 import sys n, m = map(int, sys.stdin.readline().split()) book = {} number = 1 for i in range(n): poket = sys.stdin.readline().rstrip() if poket not in book: book[poket] = number num..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bbHKm1/btrJWnxB9Rh/wrzEmuOm7UVcBC5li9sGS0/img.png)
👉 문제링크 10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 🔸 문제 분석 🔸 데크를 구현하는 문제이다. 🔸 코드 🔸 from collections import deque import sys input = sys.stdin.readline print = sys.stdout.write deq = deque() for i in range(int(input())): order = input().rstrip() if order[:10] == "push_front": deq.appendleft(order..