상세 컨텐츠

본문 제목

python (기초) 연산

Python

by ollive 2024. 7. 12. 20:19

본문

  • 두 정수(a , b)를 받아서 정수 그대로 이어붙여 큰 값을 추출한다면, 이어붙일때는 문자형이되고, 비교할때는 숫자형이 되어야 함.  
def solution(a,b):

--풀이 1
	ab = int(str(a)+str(b)                      
    ba = int(str(b)+str(a)
    if ab >= ba:
    	return ab
    else:
    	return ba
 
-- 풀이2
	return str(a)+str(b) if int(str(a)+str(b)) >= int(str(a)+str(b)) else str(b)+str(a)

-- 풀이3
	return max(int(f'{a}{b}'), int(f'{b}{a}'))

 

  • n의 배수를 구하는 문제이다. num이 n의 배수라면 1 아니라면 0을 반환한다.
-- 풀이 1
solution = lambda num, n : 1 if num % n ==0 else 0

--풀이 2
def solution(num, n)
	return(not(num % n))

 

이 문제에서 풀이 2를 보면, num % n은 숫자형 자료로 수식이다. 하지만 not ( )을 사용하여 bool으로 만들어주었다. bool식일 경우, 0이면 False(0)를 아니면 Ture(1)를 반환하는 특성을 가진다. n의 배수라면  not(0)이므로 False를 배수가 아니라면 not(숫자)로 Ture가 반환된다. 

  • 문자열 섞기

문자열 2개를 받아서(str1, str2) 각 자리에 문자열을 하나씩 섞어서 출력할때, 첫자리부터 마지막자리까지 자릿 수를 토대로 각 문자열의 자릿수를 가져와서 결과값에 넣어주면 된다.

def solution(str1, str2):
    answer = ''
    for i in range(0,len(str1)):
        answer = answer + str1[i] + str2[i]
    return answer

 

  • "구분자".join(리스트)

join은 리스트에서 문자열을 합쳐주는 함수이다. "구분자"에 따라 매개변수로 들어온 값 사이를 구분하여 합쳐준다.리스트가 아닌 경우([매개변수])로 사용할 수 있다.

str1, str2 = input().strip().split(' ')
print("".join([str1, str2]))

 

  • eval

문자열로 작성된 식을 수식으로 바꾸어 준다.

def solution(ineq, eq, n, m):
    return int(eval(str(n)+ineq+eq.replace('!', '')+str(m)))

 

 

관련글 더보기