코딩테스트
목표2-1.백준14888번 재귀 탐색의기본:연산자 끼워넣기
Giant Oreo
2021. 5. 3. 16:37
오늘의 문 제!
import sys
input = sys.stdin.readline
def cal(num, cnt, add, sub, mul, div):
global n, maxv, minv
if cnt == n:
maxv = max(num, maxv)
minv = min(num, minv)
return
else:
if add:
cal(num+nums[cnt], cnt+1, add-1, sub, mul, div)
if sub:
cal(num-nums[cnt], cnt+1, add, sub-1, mul, div)
if mul:
cal(num*nums[cnt], cnt+1, add, sub, mul-1, div)
if div:
cal(int(num/nums[cnt]), cnt+1, add, sub, mul, div-1)
if __name__== "__main__":
maxv = -10**9
minv = 10**9
n=int(input().strip())
nums=list(map(int, input().strip().split()))
a,b,c,d=map(int, input().strip().split())
cal(nums[0], 1, a, b, c, d)
print(maxv)
print(minv)
* if __name__ = "__main__":
해당 모듈이 임포트된 경우가 아니라 인터프리터에서 직접 실행된 경우에 if문 이하의 코드를 돌리라는 명령어
-> 자바에서 main() 함수의 역할. 파이썬은 스크립트 파일이기 때문에 시작점이 없다.
if __name__ == “__main__”은 왜 필요할까?
.
medium.com
* Strip()함수
:공백, 탭, 엔터를 의미하는 whitespace제거하는 함수