문제 10546번: 배부른 마라토너 마라토너라면 국적과 나이를 불문하고 누구나 참가하고 싶어하는 백준 마라톤 대회가 열린다. 42.195km를 달리는 이 마라톤은 모두가 참가하고 싶어했던 만큼 매년 모두가 완주해왔다. 단, 한 명 www.acmicpc.net 코드 My answer import sys input=sys.stdin.readline n=int(input()) a=dict() for i in range(n): tmp=input().rstrip() if(tmp not in a):a[tmp]=1 else:a[tmp]+=1 for i in range(n-1): b=input().rstrip() a[b]-=1 if(a[b]==0): del a[b] print(*a) Another answer impo..
코딩테스트
문제 14425번: 문자열 집합 첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어 www.acmicpc.net 코드 My answer import sys input = sys.stdin.readline n, m = map(int, input().split()) cnt = 0 S = {input().strip() for _ in range(n)} for j in range(m): if input().strip() in S:cnt+=1 print(cnt) 풀이 리스트로 구현을 하면 시간초과가 뜨는데 집합으로 구현을 하면 시간초과가 안난다...
문제 1620번: 나는야 포켓몬 마스터 이다솜 첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수인데, 자연수가 뭔지는 알지? 모르면 www.acmicpc.net 코드 My answer import sys input=sys.stdin.readline dogam_n=dict() dogam_w=dict() n,m=map(int,input().split()) for i in range(n): name=input().rstrip() dogam_n[i+1]=name dogam_w[name]=i+1 for i in range(m): q=input().rstrip() if(q[0].isalpha())..
문제 2346번: 풍선 터뜨리기 1번부터 N번까지 N개의 풍선이 원형으로 놓여 있고. i번 풍선의 오른쪽에는 i+1번 풍선이 있고, 왼쪽에는 i-1번 풍선이 있다. 단, 1번 풍선의 왼쪽에 N번 풍선이 있고, N번 풍선의 오른쪽에 1번 풍선 www.acmicpc.net 코드 My answer import sys input=sys.stdin.readline n=int(input()) ball=list(map(int,input().split())) index=[i+2 for i in range(n-1)] result=[1] i=0 a=ball.pop(i) while(len(ball)!=0): if(a>0): i=(i-1+a)%len(ball) else: i=(i+a+len(ball))%len(ball) a=..
문제 1935번: 후위 표기식2 첫째 줄에 피연산자의 개수(1 ≤ N ≤ 26) 가 주어진다. 그리고 둘째 줄에는 후위 표기식이 주어진다. (여기서 피연산자는 A~Z의 영대문자이며, A부터 순서대로 N개의 영대문자만이 사용되며, 길이 www.acmicpc.net 코드 My answer def calc(a,b,c): if(c=='+'):return a+b if(c=='-'):return a-b if(c=='*'):return a*b if(c=='/'):return a/b import sys input=sys.stdin.readline n=int(input()) f=input().rstrip() stack=[] board=dict() for i in f: if(i.isalpha() and i not in b..
문제 9184번: 신나는 함수 실행 입력은 세 정수 a, b, c로 이루어져 있으며, 한 줄에 하나씩 주어진다. 입력의 마지막은 -1 -1 -1로 나타내며, 세 정수가 모두 -1인 경우는 입력의 마지막을 제외하면 없다. www.acmicpc.net 코드 My answer import sys input=sys.stdin.readline dp=[] for i in range(101): dp.append([]) for j in range(101): dp[i].append([]) for k in range(101): dp[i][j].append([0]) dp[20][20][20]=1048576 for i in range(-50,51,1): for j in range(-50,51,1): for k in range..