일단 조금 고생을 해서 slicing을 통해서 나는 문제를 해결하였다.

다음의 코드로 돌렸을 때 맞기는 했다.

1
2
3
4
5
6
7
8
9
10
num = input()
# print(num[len(num)-2:len(num)])
if int(num[len(num)-2:len(num)]) <= 10:
    if num[len(num)-2:len(num)-1== '0':
        print(int(num[0:len(num)-2])*10+ int(num[len(num)-1:len(num)]))
    else:
        print(int(num[0:len(num)-2]) + int(num[len(num)-2:len(num)]))
else:
    print(int(num[0:len(num)-1]) + int(num[len(num)-1:len(num)]))
 
cs

다만, 코드가 사실 무적이나 더럽(?)다라는 생각이 들기는 한다...

분명히 더 아름다운 코드를 짤 수는 있겠지만.. 일단 당장은 저런 식으로 풀 수 있다는 것으로 만족하고,

추후에 조금 더 공부를 하고, 조금 더 좋은 아이디어가 생기면 다시 풀어볼 생각이다.

 

 

문제 출처: https://www.acmicpc.net/problem/15873

 

15873번: 공백 없는 A+B

자연수 A, B (0 < A, B ≤ 10)가 첫 번째 줄에 주어진다. 단, 두 수의 사이에는 공백이 주어지지 않는다. 두 수의 앞에 불필요한 0이 붙는 경우는 없다.

www.acmicpc.net

 

+ Recent posts