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