알고리즘 풀이 방법입니다.
문제(Problem) -> 생각(Think) -> 해결책(Solution) -> 리뷰(Review) 를 통해서 정리해서 작성합니다.
Problem📄

https://level.goorm.io/exam/43238/%EC%86%8C%EC%88%98-%ED%8C%90%EB%B3%84/quiz/1

 

구름LEVEL

코딩테스트에서 가장 높은 비중을 차지하는 알고리즘 문제를 제작하고 풀이할 수 있는 온라인 저지 서비스입니다. 기업에서 선호하는 C, C++, 파이썬(Python), 자바(Java), 자바스크립트(Javascript) 이

level.goorm.io


Think🤔

소수를 판별하는 알고리즘을 구현하라고 한다.

자기와 숫자 1 이외에 다른 값으로 나눠 떨어지지 않으면 소수이다.

 


Solution✍
import java.io.*;
class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int input = Integer.parseInt(br.readLine());
		String answer = "True"; // 기본값을 True로 설정해준다.
		for(int i=2; i<input; i++){ // 1과 자기자신은 검증할 필요가 없기 때문에 2부터 시작 자기자신 값 전까지
			if(input % i == 0){ // 1과 자기자신 이외에 나눠 떨어지면 False 소수가 아니다.
				answer = "False";
				break;
			}
		}
		System.out.print(answer);
		br.close();
	}
}

다른 좋은 코드는 없나 확인해보았다.

break;를 잊고 있었다. close도 잊고 있었고...

 

마지막 부분을 삼항 연산자로 바꿔서 출력 해도 될 것이다.

import java.io.*;
class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int input = Integer.parseInt(br.readLine());
		boolean answer = true; // 기본값을 True로 설정해준다.
		for(int i=2; i<input; i++){ // 1과 자기자신은 검증할 필요가 없기 때문에 2부터 시작 자기자신 값 전까지
			if(input % i == 0){ // 1과 자기자신 이외에 나눠 떨어지면 False 소수가 아니다.
				answer = false;
				break;
			}
		}
		System.out.print(answer == true ? "True" : "False");
		br.close();
	}
}

Review🤩

삼항 연산자, answer 그리고 close와 break를 잊지 말자


 

'Algorithm' 카테고리의 다른 글

[구름] 절대값  (0) 2021.12.25
[구름] 약수의 합  (0) 2021.12.25
[구름] Substring  (0) 2021.12.25
[구름] Bubble Sort  (0) 2021.12.25
[구름] 369 게임  (0) 2021.12.25

+ Recent posts