| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
- 프로그래머스 #날짜 비교하기 #알고리즘 #자바 #Java #코린이 #개발자 #study #공부 #성장
- 프로그래머스 #중복된 문자 제거 #알고리즘 #Java #자바 #코린이 #개발자 #study #공부 #성장
- 프로그래머스 #등차수열의 특정한 항만 더하기 #알고리즘 #Java #자바 #코린이 #개발자 #study #공부
- 프로그래머스 #푸드 파이트 대회 #알고리즘 #Java #자바 #코린이 #개발자 #study #취준
- 프로그래머스 #소수 만들기 #알고리즘 #Java #자바 #코린이 #개발자 #study #취준
- 프로그래머스 #2차원으로 만들기 #알고리즘 #Java #자바 #study #코린이 #개발자 #공부 #성장
- 프로그래머스 #세로 읽기 #알고리즘 #개발자 #코린이 #study #성장 #Java #자바
- 프로그래머스 #합성수 찾기 #알고리즘 #Java #자바 #stiudy #코린이 #개발자 #공부 #성장
- 프로그래머스 #조건에 맞는 사용자와 총 거래금액 조회하기 #알고리즘 #Mysql #DB #쿼리문 #코린이 #개발자 #study #공부 #성장
- 파이썬 #input() #sys.stdin.readline() #공부 #study
- 프로그래머스 #1로 만들기 #알고리즘 #자바 #Java #코린이 #개발자 #study #공부 #성장
- 프로그래머스 #문자열이 몇 번 등장하는지 세기 #알고리즘 #Java #자바 #코린이 #개발자 #study #공부 #성장
- 프로그래머스 #할 일 목록 #알고리즘 #Java #자바 #코린이 #개발자 #study #취준
- 프로그래머스 #카테고리 별 도서 판매량 집계하기 #알고리즘 #쿼리문 #MySQL #코린이 #개발자 #study #취준
- 프로그래머스 #부분 문자열 이어 붙여 문자열 만들기 #알고리즘 #Java #자바 #코린이 #개발자 #study #취준
- 프로그래머스 #열의 길이를 2의 거듭제곱으로 만들기 #Java #자바 #알고리즘 #코린이 #개발자 #study #공부 #성장
- 프로그래머스 #배열만들기 5 #알고리즘 #study #Java #코린이 #개발자 #성장 #공부
- 프로그래머스 #간단한 식 계산하기 #알고리즘 #Java #자바 #코린이 #개발자 #study #취준
- 프로그래머스 #조건별로 분류하여 주문상태 출력하기 #MySQL #쿼리문 #알고리즘 #코린이 #개발자 #study #취준
- 프로그래머스 #문자열 뒤집기 #알고리즘 #Java #자바 #코린이 #개발자 #study #공부 #성장
- 프로그래머스 #배열 회전시키기 #알고리즘 #Java #자바 #코린이 #개발자 #study #취준
- 프로그래머스 #수열과 구간 쿼리 3 #알고리즘 #자바 #Java #코린이 #개발자 #study #공부 #성장
- 프로그래머스 #오랜 기간 보호한 동물(1) #알고리즘 #MySQL #DB #쿼리문 #개발자 #study #성장 #코린이
- 프로그래머스 #길이에 따른 연산 #알고리즘 #자바 #Java #코린이 #개발자 #study #취준
- 프로그래머스 #조건에 맞게 수열 변환하기 1 #알고리즘 #자바 #Java #코린이 #개발자 #study #취준
- 프로그래머스 #수열과 구간 쿼리1 #알고리즘 #자바 #Java #코린이 #개발자 #study #공부 #성장
- 코린이 #개발자 #study
- 백준 #
- 프로그래머스 #특정 문자열로 끝나는 가장 긴 부분 문자열 찾기 #알고리즘 #자바 #Java #코린이 #개발자 #study #공부 #성장
- 프로그래머스 #있었는데요 없었습니다 #DB #MySQL #알고리즘 #쿼리문 #코린이 #개발자 #study #공부 #성장
- Today
- Total
luke
[프로그래머스] - 소수 만들기 (Java/자바) 본문
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/12977
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제.

풀이.
class Solution {
public int solution(int[] nums) {
int answer = 0;
for(int i = 0; i < nums.length; i++){
for(int j = i + 1; j < nums.length; j ++){
for(int k = j + 1; k < nums.length; k++){
int sum = nums[i] + nums[j] + nums[k];
if(is_prime(sum)){
answer++;
}
}
}
}
return answer;
}
public boolean is_prime(int sum){
if(sum == 2) return true;
for(int i = 2; i <= (int)Math.sqrt(sum); i++){
if(sum % i == 0){
return false;
}
}
return true;
}
}
이번 문제는 프로그래머스 "소수 만들기" 문제다.
문제 접근은 nums[] 에 있는 인덱스 3개의 값들 합이 소수일 경우가 몇 번인지 카운트하는 문제다.
그럼 바로 풀이 해보겠다.
1. 우선 중복되지 않게 nums[]에 있는 인덱스 값들을 3개 합을 구하기 위해 3중 for문을 생성해준다.
첫 번째 for문은 0번 인덱스부터 시작하기에 i = 0, 두번째 for문은 1번 인덱스 부터 시작 하기에 j = i + 1,
세 번째 for문은 2번 인덱스부터 시작하기에 k = j + 1을 해준다.
2. 마지막 for문에서 각 인덱스 값들을 합쳐 합을 구해준다.
3. 합을 구해 줬다면 이제 소수를 판별하는 메서드를 만들어 준다. boolean 타입의 메서드를 생성해 준다.
4. 매개변수는 int 형태이고 입력된 매개변수를 2와 같다면 return ture를 해준다. 2는 가장 작은 소수이고 시작이기 때문이다.
5. 다음으로 for문을 생성해 2부터 시작하며(가장 작은 소수) 매개변숫값을 Math.sqrt()를 사용해 제곱근으로 만들어 반복해준다.
6. 조건식으로는 매개변숫값을 i로 나눴을 때 나머지가 0이라면 소수가 아니므로 return false로 해준다.
7. for문을 전부 통과했다면 소수 이므로 return true이며 main에 있는 3번째 for문에 조건식을 사용해 is_prime의 메서드가 true 이면 answer++ 증가시켜서 카운트해주면 끝이다.
'알고리즘문제 > 프로그래머스(Java)' 카테고리의 다른 글
| [프로그래머스] - 푸드 파이트 대회 (Java/자바) (0) | 2025.12.01 |
|---|---|
| [프로그래머스] - 부분 문자열 이어 붙여 문자열 만들기 (Java/자바) (0) | 2025.12.01 |
| [프로그래머스] - 할 일 목록 (Java/자바) (0) | 2025.11.30 |
| [프로그래머스] - 조건에 맞게 수열 변환하기 1 (Java/자바) (0) | 2025.11.30 |
| [프로그래머스] - 길이에 따른 연산 (Java/자바) (0) | 2025.11.29 |