[백준] 1978번 : 소수찾기

letsbebrave·2022년 2월 23일
0

codingtest

목록 보기
27/146

문제

개념

에라토스테네스의 체 (이름은 중요하지 않을 듯)
소수는 해당 소수의 제곱근 이하의 정수로 나눴을 때 나누어 떨어지지 않으면, 소수이다.

for :
else: 문
for문 이후에 else 쓰이면 for문이 모두 끝난 이후에 한 번 실행됨

for x in range(5):
    print ("iteration no {} in for loop".format(x+1))
else: # for문 이후에 else 쓰이면 for문이 모두 끝난 이후에 한 번 실행됨
    print ("else block in loop")
print ("Out of loop")

결과

iteration no 1 in for loop
iteration no 2 in for loop
iteration no 3 in for loop
iteration no 4 in for loop
iteration no 5 in for loop
else block in loop # for문 이후 한 번 쓰임
Out of loop

참고 사이트
https://www.tutorialsteacher.com/python/python-else-loop

유사문제

https://velog.io/@letsbebrave/백준-1929번-소수-구하기

풀이

N = int(input())
num = list(map(int,input().split()))
answer = 0

for i in num:
    if i == 1:
        continue # continue는 for문 if문 같은 곳에서 사용 시, 다음 루프로 넘기는 역할을 함
        
    for j in range(2, int(i**0.5)+1):  
    # (2,int(i**0.5)+1, 2)로 하면 2,4 의 경우 2만 출력됨 (3을 건너뛰기 때문)
        if i % j == 0:
            break
    else :
        answer += 1

print(answer)
profile
그게, 할 수 있다고 믿어야 해

0개의 댓글