[문제 링크] 👇
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
풀이
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 |