Algorithm/Greedy

[이것이 코딩 테스트다]곱하기 혹은 더하기

눈오는1월 2023. 8. 24. 23:13
728x90

<풀이>

일단 result라는 변수에 문자열 맨 앞글자를 대입한다(대입할때 문자열이니까 다시 int로 변환해서 대입한다) 그 후에 반목문을 이용해서 입력받은 문자열의 2번째 인덱스부터 확인을 해야한다. 잘 생각해보면 다음값이 0이면 곱했을경우 0이 되니까 곱하면 안된다 무조건 +를 해야한다. 또한 1 일경우에도 곱했을경우 자기 자신이 나오므로 + 하는 경우가 더 값이 크다. 그러므로 해당 값들이 0으로 적혀있는지 1로 적혀 있는지 확인한다. 또한 처음 result에 넣은 값 역시 확인을 안했으므로 한번은 확인을 해줘야 한다

0 or 1일경우 result에 더하고 아닌경우 result에 곱해서 그 값을 다시 result 에 저장한다.

 

<코드>

 

s = input()
result = int(s[0])
for i in range(1,len(s)):
    if result == 0 or result == 1 or i == "0" or i == "1":
        result += int(s[i])
    else:
        result *= int(s[i])
    # print("result",result)
print(result)

 

728x90