SW Expert Academy- 숫자가 같은 배수
문제 링크
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AYCnY9Kqu6YDFARx
문제 입력
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 |