def solution(array):
return sorted(array)[int(len(array)/2)]
def solution(s1, s2):
cnt = 0
for t1 in s1:
for t2 in s2:
if t1 == t2:
cnt += 1
return cnt
def solution(s1, s2):
return len(set(s1)&set(s2));
def solution(price):
if price >= 500000:
return int(price - price * 0.2)
elif price >= 300000:
return int(price - price * 0.1)
elif price >= 100000:
return int(price - price * 0.05)
else:
return price
def solution(n):
cnt = 0
for i in range(1, n+1):
if n % i == 0:
cnt += 1
return cnt
def solution(n):
result = 0
for num in str(n):
result += int(num)
return result
def solution(n):
if n ** 0.5 == int(n ** 0.5):
return 1
else:
return 2
def solution(my_string):
vowels = ['a','e','i','o','u']
for vowel in vowels:
my_string = my_string.replace(vowel, '')
return my_string
import re
def solution(my_string):
return re.sub('[aeiou]', '', my_string)
def solution(hp):
result = hp // 5
if hp % 5 in (1,2):
result += hp % 5
elif hp % 5 == 3:
result += 1
elif hp % 5 == 4:
result += 2
return result
def solution(hp):
return hp // 5 + (hp % 5 // 3) + ((hp % 5) % 3)
def solution(n, numlist):
result = []
for i in numlist:
if i % n == 0:
result.append(i)
return result
def solution(n, numlist):
return list(filter(lambda v: v%n==0, numlist))
def solution(n, t):
return n * 2 ** t
다른 사람 풀이(비트시프트 연산)
컴퓨터 내부에는 2진수 형태로 값들이 저장되기 때문에, 2진수 형태로 저장되어 있는 값들을 왼쪽(<<)이나 오른쪽(>>)으로 지정한 비트 수만큼 밀어주면 2배씩 늘어나거나 1/2로 줄어듦.
왼쪽 비트시프트(<<)가 될 때에는 오른쪽에 0이 주어진 개수만큼 추가되고, 오른쪽 비트시프트(>>)가 될 때에는 왼쪽에 0(0 또는 양의 정수인 경우)이나 1(음의 정수인 경우)이 개수만큼 추가되고, 가장 오른쪽에 있는 1비트는 사라짐
e.g. 10의 이진수 == 1010
10 >> 1 == 101 == 5
10 << 1 == 10100 == 20
def solution(n, t):
return n << t # == n * 2 ** t
def solution(rsp):
result = ""
for c in rsp:
if c == "2":
result += "0"
elif c == "0":
result += "5"
elif c == "5":
result += "2"
return result
def solution(rsp):
d = {'0':'5','2':'0','5':'2'}
return ''.join(d[i] for i in rsp)