BAEKJOON 1978 소수 찾기

상훈·2022년 4월 24일
0

🏸문제


💊풀이

나보다 작은 수로 나누어지는지 확인한다.

  1. input이 1이라면 소수가 아니다
  2. input이 2 이상일 때는 나보다 작은 수로 나누어지는지 확인한다.
  3. 나누어지는 수가 없으면 소수로 판단

📌코드

import sys
sys.stdin = open('input.txt')
input = sys.stdin.readline


N = int(input())
arr = [[] for _ in range(200001)]       # 미리 x좌표 만큼의 배열 생성

for _ in range(N):
    x, y = map(int, input().split())
    arr[x+100000].append(y)             # 음수를 제거해주기 위해 음수 최대 범위 만큼을 더해줌

for i in range(200001):
    if len(arr[i])>0:
        for j in sorted(arr[i]):        # 해당 idx에 값이 존재하면 정렬해서 순차적으로 뽑아낸다.
            print(f'{i-100000} {j}')

🛀결과

소수를 찾는 규칙을 만들어 보려다가 실패했다.(전에 소수에는 규칙이 없다고 들었던 것 같기도 하고..ㅜ) 때문에 다시 초심으로 돌아가 전체를 완전 탐색하는 방식으로 전부 하나씩 계산해보고 나누어지는 수가 있는지를 알아보았다. 수가 굉장히 적기에 시간 자체도 상당히 조금밖에 안걸려서 쉽게 통과하였다.

profile
문송 개발자

0개의 댓글