[python]백준1541번:잃어버린 괄호

죽부인·2022년 12월 22일
0

난이도 🥈2

📌코드

str = input().split('-')
arr = []
for i in str:
    num = 0
    for j in i.split('+'):
        num += int(j)
    arr.append(num)

first = arr[0]
for i in arr[1:]:
    first -= i
print(first)

만들어지는 리스트들은 - 로 나누어진 리스트이므로
arr[0] 에서 나머지 arr[1:] 를 빼는 것이 최솟값이 된다.

📌후기

우선 누구나 - 중심으로 분리해야하는 것은 알 수있을 것이다.
내가 이 문제에서 어려웠던 점은 예제 1,2 와 3번 의 형식이었다. (00009....?)

- 로 분리하게 되면 예제들이 ['55', '50+40'] , ['00009', '00009'] 와 같이 나옴

1) 잘못된 접근

처음에 내가 접근한 방식은 eval이라는 메서드를 이용해서 먼저 50+40 을 계산해서 55에 뺴는 방식 이었다.

1,2,번 예제에서는 답이 나왔지만
3번 예제에서 leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers 이란 에러가 나왔다.

파이썬에서 int형은 0으로 시작되게 저장하면 안된다고 한다

2) int로 감싸면 바로 숫자 나옴...

a ='00009'
int(a)
>> 9  

😪😪문제풀다가 이상한 접근이 많은게 문제다😪😪

profile
연습장

0개의 댓글