๋ฌธ์ ์ค๋ช
https://school.programmers.co.kr/learn/courses/30/lessons/12977
์ฃผ์ด์ง ์ซ์ ์ค 3๊ฐ์ ์๋ฅผ ๋ํ์ ๋ ์์๊ฐ ๋๋ ๊ฒฝ์ฐ์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ค๊ณ ํฉ๋๋ค. ์ซ์๋ค์ด ๋ค์ด์๋ ๋ฐฐ์ด nums๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, nums์ ์๋ ์ซ์๋ค ์ค ์๋ก ๋ค๋ฅธ 3๊ฐ๋ฅผ ๊ณจ๋ผ ๋ํ์ ๋ ์์๊ฐ ๋๋ ๊ฒฝ์ฐ์ ๊ฐ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ ์ฌํญ
- nums์ ๋ค์ด ์๋ ์ซ์์ ๊ฐ์๋ 3๊ฐ ์ด์ 50๊ฐ ์ดํ์ ๋๋ค.
- nums์ ๊ฐ ์์๋ 1 ์ด์ 1,000 ์ดํ์ ์์ฐ์์ด๋ฉฐ, ์ค๋ณต๋ ์ซ์๊ฐ ๋ค์ด์์ง ์์ต๋๋ค.
์ ์ถ๋ ฅ ์
nums | result |
[1, 2, 3, 4] | 1 |
[1, 2, 7, 6, 4] | 4 |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
[1, 2, 4]๋ฅผ ์ด์ฉํด์ 7์ ๋ง๋ค ์ ์์ต๋๋ค.
์ ์ถ๋ ฅ ์ #2
[1, 2, 4]๋ฅผ ์ด์ฉํด์ 7์ ๋ง๋ค ์ ์์ต๋๋ค.
[1, 4, 6]์ ์ด์ฉํด์ 11์ ๋ง๋ค ์ ์์ต๋๋ค.
[2, 4, 7]์ ์ด์ฉํด์ 13์ ๋ง๋ค ์ ์์ต๋๋ค.
[4, 6, 7]์ ์ด์ฉํด์ 17์ ๋ง๋ค ์ ์์ต๋๋ค.
๋ด๊ฐ ์์ฑํ ์ฝ๋
class Solution {
public int solution(int[] nums) {
int answer = 0;
// ์ฒซ ๋ฒ์งธ ์ซ์์ ์์น
for (int i = 0; i < nums.length - 2; i++) {
// ๋ ๋ฒ์งธ ์ซ์์ ์์น
for (int j = i + 1; j < nums.length - 1; j++) {
// ์ธ ๋ฒ์งธ ์ซ์์ ์์น
for (int k = j + 1; k < nums.length; k++) {
// 3๊ฐ์ ์ซ์ ํฉ ๊ตฌํ๊ธฐ
int sum = nums[i] + nums[j] + nums[k];
// ์์์ธ์ง ํ์ธํ๊ธฐ
if (isPrime(sum)) {
answer++; // ๋ง์ฝ ์์๊ฐ ๋ง๋ค๋ฉด answer๋ 1 ์ฆ๊ฐํ๋ค.
}
}
}
}
return answer; // answer ๋ฐํํ๊ธฐ
}
// ์์์ธ์ง ํ์ธํ๋ ๋ฉ์๋ ์์ฑ
private boolean isPrime(int num) {
// num์ด 2์ธ์ง ํ์ธ
if(num == 2) {
return true; // 2๊ฐ ๋ง๋ค๋ฉด true ๋ฐํ
}
// 2๋ถํฐ ์๊ธฐ ์์ (num) ์ ๊น์ง ๋๋์ด ๋จ์ด์ง๋ ์ซ์๊ฐ ์๋์ง ํ์ธ
for (int i = 2; i < num; i++) {
if (num % i == 0) {
return false; // ๋๋์ด ๋จ์ด์ง๋ค๋ฉด false ๋ฐํ
}
}
return true; // ๋๋์ด ๋จ์ด์ง์ง ์์๋ค๋ฉด true ๋ฐํ
}
}
'๐งฉ ํ๋ก๊ทธ๋๋จธ์ค > ์๊ณ ๋ฆฌ์ฆ ํ์ด(Java)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ ํ๋ก๊ทธ๋๋จธ์ค/Java ] ๋ก๋์ ์ต๊ณ ์์์ ์ต์ ์์ (1) | 2025.01.20 |
---|---|
[ ํ๋ก๊ทธ๋๋จธ์ค/Java ] ๋ง์น ํ๊ธฐ (1) | 2025.01.17 |
[ ํ๋ก๊ทธ๋๋จธ์ค/Java ] ๋ชจ์๊ณ ์ฌ (1) | 2025.01.15 |
[ ํ๋ก๊ทธ๋๋จธ์ค/Java ] ๊ณผ์ผ ์ฅ์ (0) | 2025.01.07 |
ํ๋ก๊ทธ๋๋จธ์ค_์นด๋ ๋ญ์น(Java) (4) | 2024.12.16 |