코딩 테스트/프로그래머스

Lv1. 소수 찾기

  • -
728x90
반응형

문제 보기 :  소수 찾기

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 


문제

  • 정답률 : 62%


작성 코드

def solution(n):
    answer = 0
    lst = [False, False, True]+[True]*(n-2) 
    
    for i in range(2,n+1):
        if lst[i]: 
            answer += 1
            for jj in range(2,(n//i)+1):
                lst[i*jj]=False 
    return answer

풀이

전에 아리.. 누구의 체를 본 것 같은데, 이 알고리즘이 딱 적절하다고 생각해서 사용했다. 

True, False 리스트의 index를 사용해서 True인 index가 나타날 때, answer += 1을 수행하고
리스트 내 index의 배수들은 모두 False로 처리한다. 

이렇게 하면, 효율성에서 시간 초과도 안나고 아주 빠르게 처리할 수 있다

320x100
728x90

'코딩 테스트 > 프로그래머스' 카테고리의 다른 글

Lv1. [1차] 다트 게임  (0) 2024.08.24
Lv2. 롤케이크 자르기  (0) 2024.08.23
Lv2. 프로세스  (0) 2024.08.06
Lv0. 연속된 수의 합  (0) 2024.08.06
Lv2. [1차] 캐시  (0) 2024.08.02
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.