1978번 - 소수 찾기
<자바>
코드 설명
- 입력받을 숫자의 개수(=N) Scanner로 입력받기
- N만큼 for문 돌리기
- 소수인지 아닌지는 isPrime변수를 통해 확인
- input_Num이 1일 경우 다음 단계가 필요 없기에 continue
- input_Num % j == 0 -> 나머지가 0일 경우 소수가 아님 -> isPrime = false
- for문이 실행되는 동안 isPrime이 true로 유지될 경우 count_Num을 1씩 증가
- 마지막으로 sc.close()로 스캐너 끝내기
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int count_Num = 0;
for(int i = 0; i < N; i++) {
int input_Num = sc.nextInt();
boolean isPrime = true;
if(input_Num == 1) {
continue;
}
for(int j = 2; j < input_Num; j++) {
if(input_Num % j == 0) {
isPrime = false;
}
}
if(isPrime == true) {
count_Num++;
}
}
sc.close();
System.out.println(count_Num);
}
}
* 처음에 isPrime을 true로 선언하는 부분을 for문 밖에 작성했을 때 컴파일 에러가 발생했고,
for문 안에 작성했을 때 성공했습니다..
콘솔창
<C++>
코드 설명
-> 위의 Java코드와 똑같이 작성했기 때문에 cin, cout을 제외하고는 똑같습니다.
#include <iostream>
using namespace std;
int main() {
int N;
int input_Num;
int count_Num = 0;
cin >> N;
for (int i = 0; i < N; i++) {
bool isPrime = true;
cin >> input_Num;
if (input_Num == 1) {
continue;
}
for (int j = 2; j < input_Num; j++) {
if (input_Num % j == 0) {
isPrime = false;
}
}
if (isPrime == true) {
count_Num++;
}
}
cout << count_Num << endl;
return 0;
}
콘솔창
<자바와 C++ 비교>
Java코드 작성을 너무 오랜만에 해봐서 버벅 거렸지만 생각보다 빠르게 작성 완료!
C++은 지금 배우고 있는 언어라서 하는 김에 같이 해봤습니다.
학기 중이라 오랜만에 게시물을 작성했는데 부지런히 해야겠다는 생각이 드네요...ㅠㅠ
감사합니다!
'Baekjoon' 카테고리의 다른 글
[백준 C++] 2675번 - 문자열 반복 (0) | 2021.11.16 |
---|---|
[C++] 11653번 - 소인수분해 (0) | 2021.09.30 |
[자바] 백준 - 8958번 (0) | 2021.08.04 |
[자바] 백준 - 3009번, 4153번, 2557번 (0) | 2021.07.29 |
[백준 - 자바] 수학 - 2558번 / 1546번 / 3052번 (0) | 2021.07.09 |