1225번: 이상한 곱셈
첫째 줄에 A와 B가 주어진다. 주어지는 두 수는 모두 10,000자리를 넘지 않는다.
www.acmicpc.net
[오답1] → 시간초과
[오답2] → 시간초과
쉬운 문제라고 생각하고 풀었는데 계속 시간 초과가 나와서 당황스러웠다,,
[정답]
1. 두 수를 입력받아 list형태로 A,B를 정의한다. ex) A=['1','2','3'], B=['4','5']
2. A와 B, 리스트의 문자열을 int형태로 변환해준다. ex) A=[1,2,3], B=[4,5]
3. A의 sum과 B의 sum을 곱하여 출력한다.
3번 부분을 생각해내어 문제를 다시 풀었더니 시간초과가 나지 않았다.
- 시간초과가 난 오답의 경우, 123 45를 문자열로 받아 이중 for문을 돌면서 sum에 곱한 값들을 일일히 더해주었다.
ex) 123 45 → 1*4 + 1*5 + 2*4 + 2*5 + 3*4 + 3*5 = 54
- 반면 정답의 경우, 123 45를 리스트형태로 받아 A의 sum과 B의 sum을 구한 뒤 이를 곱해주었다.
ex) 123 45 → (1+2+3) * (4+5)
'알고리즘 공부 > 백준 > Python3' 카테고리의 다른 글
[백준 파이썬] #2530: 인공지능 시계 (0) | 2021.01.05 |
---|---|
[백준 파이썬] #3046: R2 (0) | 2021.01.05 |
[백준 파이썬] #15654: N과 M(5) (0) | 2021.01.04 |
[백준 파이썬] #15652: N과 M(4) (0) | 2021.01.04 |
[백준 파이썬] #15651: N과 M(3) (0) | 2021.01.03 |