[파이썬/python] 백준 1816 - 암호키

2024. 9. 7. 17:48·알고리즘
반응형

 


문제

https://www.acmicpc.net/problem/1816


문제 설명

  1. 어떤 수 S가 주어진다.
  2. S의 모든 소인수가 10^6보다 크다면 그 수는 적절한 암호키이다. 그렇지 않은 경우는 적절하지 않은 암호 키이다.
  3. 적절한 암호키는 "YES", 그렇지 않으면 "NO"를 출력한다.

풀이

S의 모든 소인수가 $10^6$보다 커야하므로 S를 $10^6$보다 같거나 작은 수로 나누었을 때 0이 나오는 수가 존재한다면, 적절한 암호키가 될 수 없다. S는 최대 10이므로 $10 * 10^6 = 10^7$회로 연산이 가능하다. 해당 문제의 시간제한인 2초($O(10^8)$)에 충분히 여유로운 시간이다.

 

  1. S를 입력받는다.
  2. S를 $10^6$보다 같거나 작은 수로 나눈다.
  3. 1 S % i == 0 이라면 해당 수는 암호키에 적합하지 않다. flag를 0으로 초기화하고 탐색을 종료한다.
  4. 모든 수를 탐색하고 flag = 1이라면 "YES" flag = 0이라면 "NO"를 출력한다

코드

import sys
input = sys.stdin.readline

for _ in range(int(input())):
    num = int(input())
    flag = 1
    for i in range(2, 10**6+1):
        if num % i == 0:
            flag = 0
            break
    print("YES") if flag else print("NO")

 


시간복잡도

  • 최악일 경우 N = 10이다. 따라서 $10 * 10^6 = 10^7$이므로 약 $O(10^7)$의 시간복잡도를 가진다.
반응형

'알고리즘' 카테고리의 다른 글

[파이썬/python] 백준 17129 - 윌리암슨수액빨이딱따구리가 정보섬에 올라온 이유  (0) 2024.09.07
[파이썬/python] 백준 11578 - 팀원 모집  (0) 2024.09.07
[파이썬/python] 백준 16493 - 최대 페이지 수  (0) 2024.09.07
[파이썬/python] 백준 28215 - 대피소  (0) 2024.09.07
[파이썬/python] 백준 14646 - 욱제는 결정장애야!!  (3) 2024.09.07
'알고리즘' 카테고리의 다른 글
  • [파이썬/python] 백준 11578 - 팀원 모집
  • [파이썬/python] 백준 16493 - 최대 페이지 수
  • [파이썬/python] 백준 28215 - 대피소
  • [파이썬/python] 백준 14646 - 욱제는 결정장애야!!
개골개굴
개골개굴
굶고 코딩하기
  • 개골개굴
    밥스토리
    개골개굴
  • 전체
    오늘
    어제
  • 글쓰기 관리
    • 분류 전체보기 (144)
      • 알고리즘 (124)
      • Java (2)
      • 자기개발 (18)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    python
    SMTP
    async
    Redis
    작심삼일 챌린지
    컴퓨터구조
    OS
    인프런
    파이썬
    컴퓨터 구조
    알고리즘
    completablefuture
    springboot
    백준
    java
  • 최근 댓글

  • 반응형
  • hELLO· Designed By정상우.v4.10.0
개골개굴
[파이썬/python] 백준 1816 - 암호키
상단으로

티스토리툴바