Some HackerRank Python Solutions
HackerRank ı gerçekten python öğrenim konusunda çok başarılı buldum, yeni öğrenen arkadaşlar kendilerini burada çok iyi geliştirebilirler.
satırları int dizilerin dizisi yapmak
s=[] import sys for line in sys.stdin: s.append(map(int,line.split())) output [[5, 3], [10, 2, 5], [7, 1, 0], [9, 9, 9], [1, 23, 12], [6, 5, 9], --- >>> from collections import Counter >>> >>> myList = [1,1,2,3,4,5,3,2,3,4,2,1,2,3] >>> print Counter(myList) Counter({2: 4, 3: 4, 1: 3, 4: 2, 5: 1}) >>> >>> print Counter(myList).items() [(1, 3), (2, 4), (3, 4), (4, 2), (5, 1)] >>> >>> print Counter(myList).keys() [1, 2, 3, 4, 5] >>> >>> print Counter(myList).values() [3, 4, 4, 2, 1] ---- [1]] ----- # Enter your code here. Read input from STDIN. Print output to STDOUT s=[] import sys for line in sys.stdin: s.append(map(int,line.split())) N,M=s[0][0],s[0][1] K=s[N+1][0] d={} for i in range(1,N+1): d[s[i][K]]=s[i] import collections od = collections.OrderedDict(sorted(d.items())) for k, v in od.iteritems(): print " ".join(map(str,v)) ----- s=[] import sys for line in sys.stdin: s.append(line) N=map(int,s[0].split())[0] M=map(int,s[0].split())[1] ------ arr = map(int, raw_input().split()) filter((lambda x: x < 0), range(10)) ---- import sys for line in sys.stdin: s=line print s[:500] --------- import operator import sys s=[] import sys for line in sys.stdin: s.append(line) s1=map(int,s) print reduce(operator.add,s1) print reduce(operator.sub,s1) print reduce(operator.mul,s1) ---- import operator import sys s=[] import sys for line in sys.stdin: s.append(line) s1=map(int,s) print s1[0]//s1[1] print s1[0]*1.0/s1[1]*1.0 ---- # Enter your code here. Read input from STDIN. Print output to STDOUT N=None import math import sys for line in sys.stdin: N=int(line) res=map(lambda x:x*x,range(N)) for i in res: print i ------- def is_leap(year): leap = False # Write your logic here if year%4==0: leap=True if year%100==0: leap=False if year%400==0: leap=True return leap ----- import sys print "".join(map(str,range(1,int([line for line in sys.stdin][0])+1))) ---- # Enter your code here. Read input from STDIN. Print output to STDOUT import operator import sys h=0 s=[] import sys for line in sys.stdin: s.append(line) arr=map(int,s[1].split()) A=set(map(int,s[2].split())) B=set(map(int,s[3].split())) for i in arr: if i in A: h=h+1 elif i in B: h=h-1 print h ---- # Enter your code here. Read input from STDIN. Print output to STDOUT s=[] import sys for line in sys.stdin: s.append(map(int,line.split())) n_shoes=s[0][0] sizes=s[1] number_of_customers=s[2][0] top=0 for i in range(3,number_of_customers+3): try: if s[i][0] in sizes: top+=s[i][1] sizes.remove(s[i][0]) except: pass print top ----- def fib(n): return n if n < 2 else fib(n-1) + fib(n-2) s=[] import sys for line in sys.stdin: s.append(map(int,line.split())) fibo=[] for i in range(s[0][0]): fibo.append(fib(i)) print map(lambda x:x**3,fibo) ------ # Enter your code here. Read input from STDIN. Print output to STDOUT s=[] import sys for line in sys.stdin: s.append(line.split()) res=[] for i in range(1,int(s[0][0])+1): op=s[i][0] if op in ("print","sort","pop","reverse"): pass elif op in ("append","remove"): val=int(s[i][1]) elif op =="insert": indx=int(s[i][1]) val=int(s[i][2]) else: print op if op=="insert": res.insert(indx,val) elif op=="append": res.append(val) elif op=="print": print res elif op=="sort": res.sort() elif op=="reverse": res.reverse() elif op=="remove": res.remove(val) elif op=="pop": res.pop() ---- # Enter your code here. Read input from STDIN. Print output to STDOUT s=[] import sys for line in sys.stdin: s.append(map(int,line.split())) tnp=s[0][0] alt=set(s[1]) print sum(alt)*1.0/len(alt)*1.0 -------- # Enter your code here. Read input from STDIN. Print output to STDOUT s=[] import sys for line in sys.stdin: s.append(map(int,line.split())) if len(filter(lambda x:x<0 s="">0: print False elif len(filter(lambda x:x<10 or="" s="" x="">0: print True else: print False ----------- # Enter your code here. Read input from STDIN. Print output to STDOUT import string s=[] import sys for line in sys.stdin: s.append(line.rstrip('\n')) ALLOWED = frozenset(string.ascii_letters + string.digits + '_' + '-') ALLOWED2 = frozenset(string.ascii_letters + string.digits) def parse(s): global u,w,e if s.count("@") !=1 or s.count(".")!=1: return False try: username=s.split('@')[0] websitename=(s.split('@')[1]).split('.')[0] extension=s.split('.')[1] u,w,e=username,websitename,extension if not all(map(len,[u,w,e]))>0: return False return True except: return False def check(mystring,x): return all(c in x for c in mystring) def son3(s): if len(s)<=3 and len(s)>0: return True else: return False print sorted(filter(lambda x:parse(x) and check(u,ALLOWED) and check(w,ALLOWED2) and son3(e),s))
Comments