[문제 링크] 👇
풀이
N의 약수 중에서 1 이상 9 이하인 수가 있는지 확인한다.
따라서 반복문을 1부터 9까지만 돌게 한다.
- 1부터 N을 나누는데, 나머지가 0이면 약수이다. 이 값을 a 라고 생각하자.
- 그리고 N을 나눈 몫의 값이 b 라고 생각하면, b 의 값도 9 이하가 돼야 한다.
- 따라서 and 연산자로 나머지는 0이면서 몫이 9 이하인 걸 찾고 결과에 "Yes" 를 저장한다.
- 그리고 불필요한 추가 연산을 줄이기 위해 반복문을 종료한다.
Solution
T = int(input()) # 테스트 케이스 수
for test_case in range(1, T + 1):
N = int(input())
result = "No"
for i in range(1, 10): # 1 이상 9 이하
if N % i == 0 and N // i < 10: # i 가 N의 약수이면서 10 이하
result = "Yes"
break
print(f"#{test_case} {result}")
'SWEA' 카테고리의 다른 글
[Programmers] L1. 기사단원의 무기 (Python) (2) | 2024.11.07 |
---|---|
[SWEA] 4676. 늘어지는 소리 만들기 (Python/D3) (0) | 2024.11.04 |
[SWEA] 4299. 태혁이의 사랑은 타이밍 (Python/D3) (0) | 2024.11.04 |
[SWEA] 15230. 알파벳 공부 (Python/D3) (0) | 2024.11.04 |
[SWEA] 19185. 육십갑자 (Python/D3) (0) | 2024.11.03 |