큰 수식 찾기
정수와 더하기, 빼기, 곱하기 기호로 이루어진 두 개의 수식 A, B가 주어진다. 주어지는 수식은 모두 올바른 수식이며, 구체적으로는 다음 조건들을 만족한다.
• 수식의 첫 문자와 마지막 문자는 항상 숫자이다.
• 수의 맨 첫 문자가 0인 경우는 없다. 예를 들어 031과 같은 수는 주어지지 않는다.
• 연산자가 최소 하나 이상 포함되어 있다.
• 연산자가 붙어서 등장하는 경우는 없다.
• 수식에 포함된 정수와 수식의 계산 결과는 모두 절댓값으로 10^14 이하이다.
각 수식을 연산자 우선순위에 따라 계산했을 때, 두 수식의 계산 결과 중 더 큰 값을 출력 하시오. 두 수식의 계산 결과는 항상 다름이 보장된다.
수식 계산하기(eval 함수 사용하기)
# 첫시도
>>> import sys
>>> input = sys.stdin.readline()
>>> N, M = map(input().split())
>>> A = eval(input())
>>> B = eval(input())
TypeError: 'str' object is not callable
make: *** [cmd] Error 1
QnA
코드를 보면 몇 가지 문제가 있습니다. 먼저, map 함수를 사용할 때 올바른 구문을 사용해야 합니다. map 함수는 함수와 반복 가능한(iterable) 객체를 받아서 각 요소에 함수를 적용하는데, 이를 제대로 사용하지 않았습니다.
그리고 eval 함수도 조심스럽게 사용해야 합니다. 보안상의 이유로 사용자 입력을 직접 eval에 전달하는 것은 권장되지 않습니다.
네; 죄송해요;;
최댓값 뽑아내기
nums=[A,B]
maxd=nums[0]
for i in range(len(nums)):
if maxd>=nums[i]:
maxd=maxd
else:
maxd=nums[i]
print("최대값은 :", maxd)
라고 생각했으나 해설 보고 허무해서 던졌습니다
해설
eval() 함수
수식 결과를 반환해줌
>>> A, B = input().split()
>>> print(max(eval(A), eval(B)))
간단하게 생각합시다...
'코딩테스트' 카테고리의 다른 글
02 기초 수학과 구현 - 소수 찾기 (0) | 2023.09.09 |
---|---|
02 기초 수학과 구현 - 8진수 계산기 (0) | 2023.09.09 |
02 기초 수학과 구현 - 최장 맨해튼 거리 (0) | 2023.09.09 |
01 기초적인 문자열 구현 - 단어 필터 (5) | 2023.09.08 |
01 기초적인 문자열 구현 - 대소문자 바꾸기 (0) | 2023.09.08 |