티스토리 뷰
https://www.acmicpc.net/problem/1356
1356번: 유진수
첫째 줄에 수 N이 주어진다. 이 수는 2,147,483,647보다작거나 같은 자연수이다.
www.acmicpc.net
유진수라는 친구가 있어 그냥 풀어보았습니다. (무지성 문제 선택 ㅎㅎ)
입력받은 수를 연속된 두 부분으로 나누었을 때 그 두 부분의 곱이 같으면 YES 아니면 NO를 출력합니다.
수를 string으로 생각하고 substring의 원소들을 곱해줘서 비교하면 됩니다.
코드는 다음과 같습니다.
def mul(s):
res = 1
for c in s:
res *= int(c)
return res
n = input()
check = False
for i in range(1, len(n)):
s1 = n[:i]
s2 = n[i:]
res1 = mul(s1)
res2 = mul(s2)
if res1 == res2:
check = True
break
if check == True:
print("YES")
else:
print("NO")
'알고리즘 > 백준' 카테고리의 다른 글
백준 18870 좌표 압축 python3 (0) | 2021.06.29 |
---|---|
백준 2056 작업 C++ (0) | 2021.06.25 |
백준 2116 주사위 쌓기 C++ (0) | 2021.06.19 |
백준 1174 줄어드는 숫자 python3 (0) | 2021.06.10 |
백준 2014 소수의 곱 C++ (0) | 2021.06.06 |
댓글