ornni 2024. 6. 6. 10:00
728x90
반응형

첫번째 코드

 

사실 문제를 보고 풀만하지 않나...라고 생각했는데

진행하면 진행할수록 머리속이 뒤죽박죽 개판새판일 돌아가버렸다...

 

그래서 책을 참고하여 코드를 작성했다..

근데 문제는 아직 책의 코드를 온전히 이해하지 못했다.

다음에 조금 더 천천히 생각하면서 다시 풀어보아야 하는 문제라고 생각한다...

 

추후 코드에 대한 온전한 이해가 되고 추가적인 설명이 필요하면 추가하도록 하자!

 

import sys
import math
input = sys.stdin.readline

n, m = map(int, input().split())
A = [False] * (m - n + 1)

for i in range(2, int(math.sqrt(m) + 1)):
    divisor = i * i
    index = int(n / divisor)
    if n % divisor != 0:
        index += 1
    for j in range(index, int(m / divisor) + 1):
        A[int((j * divisor) - n)] = True
    
answer = 0

for i in range(m - n + 1):
    if not A[i]:
        answer += 1

print(answer)

 

통과!


링크

https://github.com/ornni/programmers/tree/main/%EB%B0%B1%EC%A4%80/Gold/1016.%E2%80%85%EC%A0%9C%EA%B3%B1%E2%80%85%E3%84%B4%E3%84%B4%E2%80%85%EC%88%98

 

programmers/백준/Gold/1016. 제곱 ㄴㄴ 수 at main · ornni/programmers

repository for recording Programmers Algorithm problem solving - ornni/programmers

github.com

 

반응형