코딩테스트 연습
개요: 제곱수를 판별하는 문제
def solution(n):
for i in range(1, 1001):
if i ** 2 == n:
return 1
return 2
is_integer()
: 정수 여부를 불린값으로 리턴def solution(n):
return 1 if (n** 0.5).is_integer() else 2
개요: 최소한의 병력을 구하는 문제
def solution(hp):
answer = 0
answer += hp // 5
hp -= hp // 5 * 5
answer += hp // 3
hp -= hp // 3 * 3
answer += hp
return answer
def solution(hp):
answer = 0
for ant in [5, 3, 1]:
d, hp = divmod(hp, ant)
answer += d
return answer
개요: 대문자 소문자 바꾸는 문제
def solution(my_string):
return my_string.swapcase()
swapcase()
: 대문자와 소문자를 바꿈개요: 문자열 안의 숫자만 찾아서 정렬한 뒤 리스트로 출력하는 문제
import re
def solution(my_string):
return sorted(list(map(int, list(re.sub("\D","", my_string)))))
sorted(list)
: list를 정렬한 뒤 list로 반환list.sort()
: list 자체를 정렬하고 반환x개요: 리스트 중에 n의 배수를 골라 리스트로 출력하는 문제
def solution(n, numlist):
return [a for a in numlist if a % n == 0]
개요: 문자열의 순서를 바꾸는 문제
def solution(my_string, num1, num2):
a = list(my_string)
a[num1], a[num2] = a[num2], a[num1]
return ''.join(a)
'구분자'.join(list)
: list안의 값들을 구분자를 기준으로 합친다개요: 두 분수를 더한 값을 다시 분수로 나타내기
from math import gcd
def solution(numer1, denom1, numer2, denom2):
lcd = denom1 * denom2 // gcd(denom1, denom2)
numer1 *= lcd // denom1
numer2 *= lcd // denom2
numer = numer1 + numer2
denom = lcd // gcd(lcd, numer)
numer //= gcd(lcd, numer)
return [numer, denom]
math.gcd(aa, bb, cc, ...)
: 최대공약수 구하는 함수