ehfkswl   5년 전

안녕하세요

답은 나오는거 같은데 자꾸 시간초과가 납니다

코드는 아래와 같고 에라토스테네스의 체를 구현하려고 하였습니다

먼저 max 길이의 2부터 자연수 배열을 만들고 2부터 각 수의 배수를 지어나가는 식으로 구현하였습니다

그리고 이 소수의 제곱이 max보다 커지게되면 배수를 따질 필요가 없으므로 while문을 빠져나오게 했습니다

시간을 더 줄여야할 부분은 자연수 배열을 만드는 for문이나 소수의 배수를 remove를 하는 방법을 고쳐야 하는것 같은데

정확히 어떤 부분이 잘못됐는지 모르겠네요

알려주시면 감사하겠습니다!

jh05013   5년 전

https://www.acmicpc.net/blog/v...
ArrayList의 중간에 뭔가를 끼워넣고 빼는 건 O(N)입니다.

댓글을 작성하려면 로그인해야 합니다.