🔑알고리즘/baekjoon

백준 1929 : 소수 구하기 - 자바 문제 풀이(시간 초과 해결)

2022. 1. 24. 21:29
반응형

 

백준 1929 소수 구하기 문제입니다.

 

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

 

1929번: 소수 구하기

첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다.

www.acmicpc.net

 

다음과 같이 시간초과가 뜨더군요 그래서 저는 자바에서 제공되는 Math 클래스의 sqrt인 제곱근을 활용하였습니다.

 

소수를 구하는 prime(int n) 메서드입니다.

저번에 블로그에 올렸던 코드와 유사하지만 Math.sqrt(n)으로 반복문의 반복을 줄였습니다. 

 

static boolean prime(int n) {
		for (int i = 2; i <= Math.sqrt(n); i++) {
			if (n % i == 0)
				return false;
		}
		return true;
	}

전체 코드입니다.

Scanner가 아닌 버퍼드리더를 사용하여 시간을 줄였습니다.

import java.io.*;
import java.math.*;

public class Main {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

		String[] s = br.readLine().split(" ");
		int a = Integer.parseInt(s[0]);
		int b = Integer.parseInt(s[1]);
		for (int i = a; i <= b; i++) {
			if (i == 1)
				continue;
			if (prime(i)) {
				bw.write(i + "\n");
			}
		}
		bw.flush();
		bw.close();

	}

	static boolean prime(int n) {
		for (int i = 2; i <= Math.sqrt(n); i++) {
			if (n % i == 0)
				return false;
		}
		return true;
	}
}

 

반응형
저작자표시 (새창열림)

'🔑알고리즘 > baekjoon' 카테고리의 다른 글

백준 10845 : 큐 - 자바(java) 문제 풀이  (0) 2022.05.10
백준 4948 : 베르트랑 공준 - 자바 문제 해결 코드  (0) 2022.01.25
백준 11653 : 소인수분해 - 자바 문제 해결 코드  (0) 2022.01.24
백준 2581 : 소수 - JAVA(자바) 해결 코드  (0) 2022.01.23
백준 9012 : 괄호 자바 문제 풀이 (Stack 사용 문제)  (0) 2022.01.02
'🔑알고리즘/baekjoon' 카테고리의 다른 글
  • 백준 10845 : 큐 - 자바(java) 문제 풀이
  • 백준 4948 : 베르트랑 공준 - 자바 문제 해결 코드
  • 백준 11653 : 소인수분해 - 자바 문제 해결 코드
  • 백준 2581 : 소수 - JAVA(자바) 해결 코드
pkyung
pkyung
pkyung
성장하는 중
pkyung
전체
오늘
어제
  • 분류 전체보기
    • 🏆토이 프로젝트에서 생긴 일
    • 🤿백엔드 내실 채우기
    • 🍫카카오 테크 캠퍼스 2기 BE
    • 🍀spring
      • 스프링 입문
      • 스프링 핵심원리 기본
      • 스프링 jpa
      • 🐛debug
    • 🔒보안
    • 🌎infra
      • docker
      • kubernetes
      • cloud
    • 🌐web
      • HTTP 웹 기본 지식
    • 🔑알고리즘
      • baekjoon
      • programming language
    • 🎞️프로젝트
      • android
      • flutter
    • 📚수업
      • 교양과목
    • 💾database
    • ⚙settings
    • 2023 여름 모각코 - 절개와지조
    • 2024 겨울 모각코 - 내 장점은 algorit..

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 스택
  • Docker
  • sql
  • springboot
  • python
  • 자바
  • JPA
  • 스프링기본
  • 코드리뷰
  • 김영한
  • 자바문자열
  • 스프링부트
  • spring
  • Java
  • 카카오테크캠퍼스
  • 소수
  • BFS
  • mysql
  • 백준
  • be
  • 문자열
  • 데이터베이스
  • 객체지향
  • 객체지향의사실과오해
  • nginx
  • HTTP
  • 스프링
  • 파이썬
  • Security
  • 카테캠

최근 댓글

최근 글

hELLO · Designed By 정상우.
pkyung
백준 1929 : 소수 구하기 - 자바 문제 풀이(시간 초과 해결)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.