본문 바로가기
코딩 테스트/do it! 알고리즘 코딩테스트

040 제곱 ㄴㄴ 수

by ornni 2024. 6. 6.
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

 

반응형

'코딩 테스트 > do it! 알고리즘 코딩테스트' 카테고리의 다른 글

042 최소공배수  (0) 2024.06.11
039 소수&팰린드롬  (2) 2024.06.06
037 소수 구하기  (0) 2024.06.04
038 거의 소수  (0) 2024.06.04
036 잃어버린 괄호  (0) 2024.05.30