목록문제/백준_파이썬 (155)
sm 기술 블로그
import sys input = sys.stdin.readline N, M = map(int, input().split()) Pokemon = list(input().strip() for _ in range(N)) PokemonQuestion = list(input().strip() for _ in range(M)) PokemonDoGam_str = {Pokemon[i]: str(i+1) for i in range(len(Pokemon))} PokemonDoGam_num = dict(map(reversed, PokemonDoGam_str.items())) for val in PokemonQuestion: if(val.isalpha()): # 만약 문자열이 알파벳이라면 print(PokemonDoGam_..
import sys input = sys.stdin.readline N, M = map(int, input().split()) repository = set(input().strip() for _ in range(N)) compare = [input().strip() for _ in range(M)] cnt = 0 for val in compare: if val in repository: cnt += 1 print(cnt) 문제요약 문자열 집합을 입력 받음. 비교 문자열들을 입력 받음. 비교 문자열에 집합의 문자열이 몇개 포함되어 있는가 설명 먼저 문자열 집합이라하여 집합을 사용하였다. 특별한 문법을 사용한 것이 없어 솔직히 어렵지 않다. 집합을 사용하지 않고 데이터사전을 이용한다면 import sys ..
import sys input = sys.stdin.readline N = int(input()) # 상근이가 가지고 있는 카드 개수 haveCard = list(set(map(int, input().split()))) M = int(input()) # 비교할 카드 개수 compareCard = list(map(int, input().split())) cardDic = {haveCard[i]: 1 for i in range(len(haveCard))} for val in compareCard: try: cardDic[val] print("1", end=" ") except: print("0", end=" ") 문제요약 상근이가 가지고 있는 카드의 숫자와 제시된 카드의 숫자가 같은지 비교하시오. 설명 파이..
import sys input = sys.stdin.readline N = int(input()) num = list(map(int, input().split())) arr = sorted(list(set(num))) result = {arr[i]: i for i in range(len(arr))} for i in num: print(result[i], end=" ") 문제 요약 x좌표가 들어왔을 때 효율적으로 탐색할 수 있게 좌표압축을 구현해라 설명 좌표압축의 개념은 아래에 들어가보자. https://smhope.tistory.com/235 좌표압축 좌표압축 만약 x축의 좌표가 [0 ,1 ,2 ,3 ,100 ,150]과 같이 주어졌을 때, 0~3은 각 1씩 차이라 크게 문제 되지 않지만 100과 150..