반응형
Q) 세 개의 숫자를 입력받아 가장 큰수를 출력하는 print_max 함수를 정의하라. 단 if 문을 사용해서 수를 비교하라.
A)
풀이 1 )
def print_max(a,b,c): if a > b and a>c: return a elif b>a and b>c: return b elif c>a and c>b: return c |
풀이 2 )
def print_mat(num1,num2,num3): if num1>num2 and num1 > num3: print(num1) elif num2 > num3: print(num2) else: print(num3) print_max(10,3,5) |
풀이 3 ) max 함수를 사용하면 간단하다.
def print_max(num1,num2,num3): num_list = [num1, num2, num3] print(max(num_list)) print_max(10,3,5) |
Q) 입력된 문자열을 역순으로 출력하는 print_reverse 함수를 정의하라.
A)
풀이 1 )
def print_reverse(a): new_list=[] for i in a[::-1]: new_list.append(i) print(i) print(new_list) |
풀이 2 )
def print_reverse(sentence): print(sentence[::-1]) print_reverse("python") |
Q) 연봉을 입력받아 월급을 계산하는 calc_monthly_salary(annual_salary) 함수를 정의하라. 회사는 연봉을 12개월로 나누어 분할 지급하며, 이 때 1원 미만은 버림한다.
예) calc_monthly_salary(12000000)
답변 예시) 1000000
A)
풀이 1 )
def calc_monthly_salary(annual_salary): return int(annual_salary / 12) calc_monthly_salary(12000000) |
풀이 2 ) round 함수 이용
def calc_monthly_salary(annual_salary): print(round(annual_salary/12)) calc_monthly_salary(12000000) |
Q) 콤마가 포함된 문자열 숫자를 입력받아 정수로 변환하는 convert_int 함수를 정의하라.
예) convert_int("1,234,567")
답변 예시) 1234567
A)
풀이 1 )
def convert_int(a): b = a.split(',') c = b[0] + b[1] + b[2] c = int(c) return c |
풀이 2)
def convert_int(string): data = string.replace(',','') data = int(data) return data |
반응형
'기타 > 문제풀이' 카테고리의 다른 글
[MySQL] 여러기준으로 정렬하기 (0) | 2022.10.06 |
---|---|
[Python] 1000보다 작은 자연수 중에서 3 또는 5의 배수를 모두 더하면? (0) | 2022.09.30 |
[Python_문제풀이] Functions 함수1 (0) | 2022.04.26 |
[Python_문제풀이] 반복문 + 조건문 2 (0) | 2022.04.26 |
[Python_문제풀이] 반복문 + 조건문 1 (0) | 2022.04.26 |