두 가지 방식으로 코드를 작성했다.

내용은 같은데, A 코드는 컴프리헨션을 사용했고 B 코드는 이중 for문으로 작성했다.

 

개인적으로 A 코드가 더 마음에 든다. 

두 줄로 작성 했음에도 가독성이 더 낫다.

 

B 코드에서는 수 세기, 타입 변환 등 잡음이 많아서 어수선하다.

 

A 코드

# A 코드: 시간 68ms, 메모리 29200 KB

import sys

INPUT = sys.stdin.readline    # 10+01-1+1


def solution(exp):
    """ 주어진 식에 적절히 괄호를 쳐서 최소 값으로 계산하여 리턴한다.
    """
    numbers = [sum(map(int, x1.split('+'))) for x1 in exp.split('-')]
    return numbers[0] - sum(numbers[1:])

print(solution(INPUT()))

 

B 코드

# B코드 : 시간 72ms, 메모리 29200 KB

import sys

INPUT = sys.stdin.readline    # 10+01-1+1


def solution():
    """ 주어진 식에 적절히 괄호를 쳐서 최소 값으로 계산하여 리턴한다.

    """
    exp = INPUT().split('-')

    numbers = []
    for x1 in exp:
        x2 = x1.split('+')

        count = 0
        for num in x2:
            count += int(num)

        numbers.append(count)
    return numbers[0] - sum(numbers[1:])
print(solution())

+ Recent posts