요즘 파이썬 문법이나 메서드에 익숙해지기 위해 프로그래머스 기초문제를 파이썬으로 풀고있다.
<나의 풀이>
def solution(my_string):
arr = my_string.split(' ')
answer = int(arr[0])
for i in range(len(arr)):
if i % 2 != 0:
if arr[i] == '+':
answer += int(arr[i+1])
else:
answer -= int(arr[i+1])
return answer
처음에 입출력 예를 보고 num1 num2 로만 나눴다가 연산자가 여러개인 경우가 있을 수 있어서 수정했다.
문자열을 한글자씩 쪼개서 배열에 넣어준 후 for문을 돌리면서 하나씩 꺼내는데
인덱스가 홀수일 경우(연산자가 있을 경우) 연산자가 +인지 -인지 확인한 후 다음 인덱스의 숫자를 더하거나 빼는 코드이다.
그런데 구글에 검색해보니 파이썬에 eval()이라는 함수가 있다는걸 알게 되었다.
eval 함수는 문자열로 받은 수식을 계산해서 결과를 반환하는 함수라고 한다.
이 함수를 쓰면 위의 코드를 한줄로 줄일 수 있다. ㄷㄷ
def solution(my_string):
answer = eval(my_string)
return answer
코테 문제를 왜 많은 사람들이 파이썬으로 푸는지 또 한번 알게된 날... : )
'Study > 알고리즘' 카테고리의 다른 글
[프로그래머스] 모스부호(1) Java (0) | 2023.04.27 |
---|---|
프로그래머스-특정 문자 제거하기 (0) | 2023.01.12 |
프로그래머스-문자 반복 출력하기 (0) | 2023.01.12 |
코딩테스트 입문 - 분수의 덧셈 (1) | 2022.10.14 |
코딩테스트 입문 (0) | 2022.10.13 |