728x90
반응형
코딩테스트 연습 - 소수 만들기
주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때
programmers.co.kr
문제 설명 |
주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return 하도록 solution 함수를 완성해주세요. |
제한 조건 |
|
입출력 예 |
|
nums | return |
[1,2,3,4] | 1 |
[1,2,7,6,4] | 4 |
|
나의 풀이
1. 숫자 세개를 추출하기 위해 세번의 for문을 돌림. (첫번째=0부터, 두번째=첫번째+1부터, 세번째=두번째+1부터)
2. 추출한 세개의 숫자를 더한 값이 소수인지 여부 판별 (2부터 sum까지 나누어떨어지는 수가 있는지 확인)
3. 소수인 경우 answer+1
class Solution {
fun solution(nums: IntArray): Int {
var count = 0
for (i in nums.indices) {
for (j in i+1 until nums.size) {
for (k in j+1 until nums.size) {
if (i==j || j==k || i==k) {
break
}
val sum = nums[i] + nums[j] + nums[k]
var zeroCount = 0
for (s in 2 until sum) {
if (sum % s == 0) {
zeroCount++
break
}
}
if (zeroCount == 0) {
count++
}
}
}
}
return count
}
}
728x90
반응형
'프로그래머스 > Kotlin | Level1' 카테고리의 다른 글
[프로그래머스/Kotlin]Level1 - 개인정보 수집 유효기간 (0) | 2024.05.03 |
---|---|
[프로그래머스/Kotlin]Lv1 - 신고 결과 받기 (0) | 2023.06.10 |
[프로그래머스/Kotlin]Level1 - 모의고사 (0) | 2023.02.23 |
[프로그래머스/Kotlin]Level1 - 체육복 (0) | 2022.01.20 |
[프로그래머스/Kotlin]Level1 - 2016년 (0) | 2022.01.12 |