| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 29 | 30 | 31 |
Tags
- jenkins
- tag
- Interface
- oAuth2
- 상속
- 인스턴스
- static
- Spring API
- 백엔드공부
- 카카오인가코드받기
- spring
- 예외
- feignClient
- input
- 엔티티 매니저
- ci/cd
- 제로베이스
- GitHub_Actions
- Java
- 카카오인증토큰받기
- html
- 백엔드 로드맵
- 어떤 개발자?
- 카카오사용자정보가져오기
- 엔티티 생명주기
- button
- 백엔드스쿨
- Docker
- form
- MIND 2023 #후기
Archives
- Today
- Total
HiDevelop
소수 만들기 본문
728x90
- 소수 만들기
문제 설명
주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return 하도록 solution 함수를 완성해주세요.
제한사항- nums에 들어있는 숫자의 개수는 3개 이상 50개 이하입니다.
- nums의 각 원소는 1 이상 1,000 이하의 자연수이며, 중복된 숫자가 들어있지 않습니다.
입출력 예 nums result
| [1,2,3,4] | 1 |
class Solution {
public int solution(int[] nums) {
int answer = 0;
//n개의 정수에서 3개의 정수를 뽑아 더하기
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 num = nums[i]+ nums[j] + nums[k];
if(distinguish(num) == true)
answer++;
}
}
}
return answer;
}
//소수인지 판별하는 함수
public boolean distinguish(int num){
boolean check = true;
for(int i =2; i< num; i++){
if( num % i == 0){
//자기자신을 제외한 자신의 이하의 숫자에서 나머지 연산이 0이 나오지 않으면 소수x
check = false;
break;
}
}
return check;
}
}
삼중 반복문을 통해 배열 nums에 있는 정수 3개를 뽑아 더할 수 있게 만들었습니다.
소수인지 판별하는 distinguish 메소드를 만들어 더해진 수가 소수인지 판별할 수 있게 하였습니다.
728x90
'코딩 연습!' 카테고리의 다른 글
| 이진 탐색 - 백준 수 찾기 (0) | 2022.04.18 |
|---|---|
| 약수의 개수의 덧셈 (0) | 2022.01.27 |
| 양수 정수 제곱 판별하기 (0) | 2022.01.18 |