[백준/파이썬] 1356번 유진수 풀이

업데이트:



문제 정보


풀이

문제

숫자 문자열을 한 위치에서 나눴을 때 왼쪽 자리수 곱과 오른쪽 자리수 곱이 같아지는지 판단하는 문제입니다.

코드

n = input()

f = False
for i in range(1,len(n)):
    a = b = 1
    for j in range(i): a *= int(n[j])
    for j in range(i, len(n)): b *= int(n[j])
    if a==b:
        f = True
        break
print('YES' if f else 'NO')

설명

분할 위치 i를 1부터 끝 직전까지 모두 시도합니다.

각 위치마다

  • 왼쪽 부분 자리수 곱 a
  • 오른쪽 부분 자리수 곱 b

를 계산해 같으면 YES, 끝까지 없으면 NO를 출력합니다.



댓글남기기