[SW14361] 숫자가 같은 배수
✏️ 𝗔𝗹𝗴𝗼𝗿𝗶𝘁𝗵𝗺/SW Expert Academy

[SW14361] 숫자가 같은 배수

SW Expert Academy- 숫자가 같은 배수

문제 링크

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AYCnY9Kqu6YDFARx

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

문제 입력

4
142857
1
1035
123
#1 possible
#2 impossible
#3 possible
#4 impossible

문제 풀이

import sys


sys.stdin = open('input.txt', 'rt')
T = int(input())

for t in range(T):
    n = input()
    flag = 'impossible'

    new = n
    i = 2
    # 자릿수가 변하지 않을 때까지 n곱을 한다
    while True:
        new = list(str(int(n) * i))
        i += 1

        # 만약 갯수가 다르면 멈춘다.
        if len(new) != len(n):
            break

        # 리스트의 요소가 같은지
        if set(new) == set(n):
            flag = 'possible'
            break

    print(f"#{t + 1} {flag}")

자릿수가 변하지 않을 때 까지 n 곱을 하고 해당 수와 n의 요소가 같은지 확인합니다.
new == n 하면 False 가 나오지만 집합을 사용하면 순서가 없기 때문에 요소만 같으면 True로 나옵니다.








# SW Expert 숫자가같은배수 python 파이썬


728x90

'✏️ 𝗔𝗹𝗴𝗼𝗿𝗶𝘁𝗵𝗺 > SW Expert Academy' 카테고리의 다른 글

[SW10804] 문자열의 거울상  (0) 2022.05.29
[SW10912] 외로운 문자  (0) 2022.05.29
[SW13732] 정사각형 판정  (0) 2022.05.29
[SW11285] 다트 게임  (0) 2022.05.24
[SW11315] 오목 판정  (0) 2022.05.23