목록PS/Python (269)
지나가던 개발자
import collections for i in range(int(input())): fashions = [] for j in range(int(input())): fashions.append(input().split(" ")[1]) n = list(collections.Counter(fashions).values()) answer = 1 for j in n: answer *= j+1 print(answer-1) 실버III밖에 안되는데 꽤나 어려웠던 문제였다. 이 블로그를 참고했다. 예를 들어 a라는 종류의 옷이 2벌(a1, a2) 있고 b라는 종류의 옷이 3(b1, b2, b3)벌, c라는 종류의 옷이 1(c1)벌 있으면 a는 a1을 입어도 a2를 입어도 안 입어도 된다. b도 마찬가지로 b1을 입거..
import collections def binary_search(nums, target): left, right = 0, len(nums)-1 while left target: right = mid - 1 else: return 1 return 0 input() have = sorted(list(map(int, input().split(" ")))) have_collection = collections.Counter(have) input() cards = list(map(int, input().split(" "))) for i in cards: if binary_search(have, i) == 0: print(0, end=" ") continue else: print(have_collection[i]..
if int(input()) % 2 != 0: print("CY") else: print("SK") 저번에 푼 9655번이랑 코드가 완전 똑같다 ㅋㅋ =만 !로 바뀌었다. https://developer-next-to-you.tistory.com/191
if int(input()) % 2 == 0: print("CY") else: print("SK") 이게 왜 실버V? 옛날에 배스킨라빈스 31 게임이 생각난다.
numbers = [] while True: n = input() if n == '#': break numbers.append(n) d = {'-': 0, '\\': 1, '(': 2, '@': 3, '?': 4, '>': 5, '&': 6, '%': 7, '/': -1} for n in numbers: i = 0 p = [] for j in range(len(n)-1, -1, -1): p.append(d[n[i]]*(8**j)) i += 1 print(sum(p)) 딕셔너리 이용해서 이케이케(?) 하는 것이다. 솔직히 말하자면, 나도 이 코드가 어떻게 돌아가는지 잘 모르겠다. 코딩을 내 무의식에게 맡겼더니 돌아가기는 하는데 이해는 할 수가 없는 그런 코드가 나왔다.
p = [1, 1, 1, 2, 2, 3, 4, 5, 7, 9] for i in range(9, 100): p.append(p[-1]+p[-5]) for i in range(int(input())): print(p[int(input())-1]) 파도반 수열은 1, 1, 1, 2, 2, 3, 4, 5, 7, 9, 12, 16, 21, 28, 37, 49, 65, 86, 114, 151, 200, 265, 351, 465, 616, 816, 1081, 1432, 1897, 2513, 3329, 4410, 5842, 7739, 10252, 13581, 17991, 23833, 31572, 41824, 55405, 73396, 97229, 128801, 170625, 226030, 299426, 396655, 5..
can_pass = ['i', 'pa', 'te', 'ni', 'niti', 'a', 'ali', 'nego', 'no', 'ili'] a = input().split(' ') if a[0] not in can_pass: a = [item for item in a if item not in can_pass] else: a = sum([[a[0]], [item for item in a if item not in can_pass]], []) for i in a: print(i[0].upper(), end='') 뛸 수 있는 단어들을 리스트로 만들어 놓고, 문자열을 입력받는다. 그 뒤에 입력받은 문자열의 첫 번째 요소가 뛸 수 있는 단어가 아니라면 입력받은 문자열에 있는 모든 단어들 중 뛸 수 있는 단어를 지..
import math a, apq = list(map(int, input().split())) if a == apq: print(a, apq) else: r = apq // a l = [] for i in range(1, r//2+1): s = set([int(r/i), i]) list_s = list(s) if int(r/i) > r/i or int(r/i) < r/i: continue if list_s in l: break if math.lcm(list_s[0]*a, list_s[1]*a) == apq and math.gcd(list_s[0]*a, list_s[1]*a) == a: l.append(list_s) answer = [l[-1][0]*a, l[-1][1]*a] print(min(answer..