인프런 커뮤니티 질문&답변

noeliden1님의 프로필 이미지
noeliden1

작성한 질문수

2주만에 통과하는 알고리즘 코딩테스트 (2024년)

완전탐색 (For반복문)

완전탐색 1816번 암호 키 문제 질문

해결된 질문

작성

·

437

1

안녕하세요!
백준 1816번 암호 키 문제에 관한 질문이 있는데요

우선 제가 초급자라서 허접한 질문이어도 양해부탁드립니다.
for-loop이 100만째 되는 시점에 "YES"를 print 하는건 이해가 되는데요.

제가 아래 두번째 코드에 적은 것처럼 어차피 100만에서 for-loop이 종료되니까 print("YES")를 해주면 된다고 생각했는데 백준에 두번째 코드를 제출해보니까 틀린 답이라고 나오더라구요.

혼자 고민을 해보았는데 결론이 나오질 않아서 질문드립니다.
강의에서 보여주신 것처럼 첫번째 코드에서 i == 100만이라는 조건을 붙여줘야 하는 이유가 무엇일까요??

감사합니다.

n = int(input())
for _ in range(n):
    tc = int(input())

    for i in range(2, 1_000_001):
        if tc % i == 0:
            print("NO")
            break
        if i == 1_000_000:
            print("YES")
#----------------------------------
n = int(input())
for _ in range(n):
    tc = int(input())

    for i in range(2, 1_000_001):
        if tc % i == 0:
            print("NO")
            break
     
    print("YES")

 

 

 

 

답변 1

0

코딩 센세님의 프로필 이미지
코딩 센세
지식공유자

작성해주신 코드는 암호문의 판별 여부와 관계없이 모든 예제에 YES라는 문자열이 출력됩니다!

 

예)

1

1500035500153

 

정답 :

NO

 

예제 결과 :

NO

YES

noeliden1님의 프로필 이미지
noeliden1

작성한 질문수

질문하기