๊ธฐ๋ณธ์ด ์ ์ผ ์ด๋ ต๋ค.
์ํ ๊ธฐ๋ณธ๊ธฐ์ ๋ฌธ์์ด ๊ธฐ๋ณธ๊ธฐ๊ฐ ์ ์ผ ์ด๋ ต๋ค.
๐ฉ 1. ๋ฐฐ์ด ๋ค์ง๊ธฐ
โ๐ ๐ปโ๏ธ ์ฒซ๋ฒ์งธ ์๋ - ํ๋ฆฐ ์ฝ๋
import java.util.*;
class Solution {
public double solution(int[] numbers) {
int total = 0;
double answer = 0;
for (int i = 0; i < numbers.length; i++) {
total += numbers[i];
}
answer = total / numbers.length;
return answer;
}
}
ํ๋ฆฐ ์ด์ ๋ total์ int ํ์ผ๋ก ์ ์ธํ๊ธฐ ๋๋ฌธ์ด๋ค. total์ด int, numbers.length๋ int์ด๋ฏ๋ก total / numbers.length๋ ์ ์ ๋๋์ ์ด ๋์ด ์์์ ์ดํ๊ฐ ๋ฒ๋ ค์ง๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค. total์ double๋ก ๋ฐ๊ฟ์ฃผ๋๊น ํด๊ฒฐ๋์๋ค.
์ฐธ๊ณ
int / double ๋๋ double / int → ์๋์ผ๋ก double ๊ฒฐ๊ณผ
โญ ์ ๋ต์ฝ๋
import java.util.*;
class Solution {
public double solution(int[] numbers) {
double total = 0;
double answer = 0;
for (int i = 0; i < numbers.length; i++) {
total += numbers[i];
}
answer = total / numbers.length;
return answer;
}
}
๐ธ 2. ์ท๊ฐ๊ฒ ํ ์ธ๋ฐ๊ธฐ
โ๐ ๐ปโ๏ธ ์ฒซ๋ฒ์งธ ์๋ - ํ๋ฆฐ ์ฝ๋
class Solution {
public int solution(int price) {
if (price >= 500000) return (price * 0.8);
else if (price >= 300000) return (price * 0.9);
else if (price >= 100000) return (price * 0.95);
}
}
์ปดํ์ผ ์ค๋ฅ๋ฐ์ํจ
1) Java์์ price * 0.8์ฒ๋ผ int์ double ๊ฐ์ ๊ณฑํ๋ฉด double ํ์
๊ฒฐ๊ณผ๊ฐ ๋์ค์ง๋ง, ๋ฉ์๋์ ๋ฐํ ํ์
์ด int์ด๋ฏ๋ก ์ปดํ์ผ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค. ์ด๊ฒ์ ํด๊ฒฐํ๋ ค๋ฉด ๋ช
์์ ์ผ๋ก ์ ์ํ์ผ๋ก ๋ณํํด์ผ ํ๋ค.
2) else๊ฐ ์์
price๊ฐ 100,000 ๋ฏธ๋ง์ผ ๋์ ์ฒ๋ฆฌ๊ฐ ๋น ์ ธ ์์ด์ ๋ฐํ๊ฐ์ด ์๋ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ๋๋จธ์ง๋ else๋ฅผ ์ถ๊ฐํด์ ๊ฐ๊ฒฉ์ด ํ ์ธ ๋์์ด ์๋ ๊ฒฝ์ฐ ์๋ ๊ฐ๊ฒฉ์ ๋ฐํํด์ผ ํ๋ค.
โญ ์ ๋ต์ฝ๋
class Solution {
public int solution(int price) {
if (price >= 500000) return (int)(price * 0.8);
else if (price >= 300000) return (int)(price * 0.9);
else if (price >= 100000) return (int)(price * 0.95);
else return price;
}
}
๐ฅค 3. ์์ด์ค ์๋ฉ๋ฆฌ์นด๋ ธ
โ๐ ๐ปโ๏ธ ์ฒซ๋ฒ์งธ ์๋ - ํ๋ฆฐ ์ฝ๋
import java.util.*;
class Solution {
public int[] solution(int money) {
int[] answer = {};
answer[0] = money / 5500;
answer[1] = money - (5500 * answer[0]);
return answer;
}
}
๐ฅ ๋งค์ผ ์ค์๋ก ๊น๋นก ํ๋ ๋ถ๋ถ: ์ฝ๋์์ ๋ฐฐ์ด์ ์ ์ธํ ๋ ํฌ๊ธฐ๊ฐ ์ง์ ๋์ง ์์ผ๋ฉด ๋ฐฐ์ด ๊ณต๊ฐ์ ๊ฐ์ ํ ๋น ํ ๋ ArrayIndexOutOfBoundsException์ด ๋ฐ์ํ๋ค.
โญ ์ ๋ต์ฝ๋
import java.util.*;
class Solution {
public int[] solution(int money) {
int[] answer = new int[2];
answer[0] = money / 5500;
answer[1] = money - (5500 * answer[0]);
return answer;
}
}
โญ ์ ๋ต์ฝ๋
๐ฉ๐ป๐ฆฐ 4. ๋์ด ์ถ๋ ฅ
โญ ์ ๋ต์ฝ๋
import java.time.LocalDate;
class Solution {
public int solution(int age) {
return LocalDate.now().getYear() - age -3 + 1;
}
}
์ฒ์์๋ ์๋ฌด ์๊ฐ ์์ด age + 1์ ํ๋๋ฐ 3๋ ์ฐจ์ด๊ฐ ๋์ ์ค๋ต ์ฒ๋ฆฌ๊ฐ ๋จ
2022๋ ์ฐ๋๋ผ๊ณ ํ์ผ๋๊น ํ์ฌ ์ฐ๋ 2025๋ ๊ณผ 3๋ ์ฐจ์ด๊ฐ ๋๋ ๊ฒ์ -3 ํด์ ๋ณด์ ํด ์ค
๐ฉ๐ป๐ฆฐ 5. ๋ฐฐ์ด ๋ค์ง๊ธฐ
โญ ์ ๋ต์ฝ๋
import java.util.*;
class Solution {
public int[] solution(int[] num_list) {
int n = num_list.length;
int[] answer = Arrays.copyOf(num_list, n); // ์๋ณธ ๋ฐฐ์ด ๋ณต์ฌ
for (int i = 0; i < n/2; i++) {
int tmp = answer[i]; // ํ์ฌ ๊ฐ ์์ ๋ณ์์ ์ ์ฅ
answer[i] = answer[n - 1 - i]; // ๋ฐ๋ ๊ฐ์ผ๋ก ๊ต์ฒด
answer[n - 1 - i] = tmp; // ์ ์ฅํด ๋์ ์์ ๊ฐ์ผ๋ก ๊ต์ฒด
}
return answer;
}
}
๋๋ ๋ฐฐ์ด์ ๊ทธ๋๋ก ๋ณต์ฌํ ๋ค์ ๋ฐฐ์ด ๊ธธ์ด ์ ๋ฐ๊น์ง ๋ฐ๋ณต๋ฌธ์ ๋๋ ค์ ํด๋น ๊ฐ์ tmp๋ณ์์ ๋ฃ์ด ์ค๋ค์ ๋ฐ๋ ๊ฐ์ผ๋ก ๊ต์ฒดํ๋ ๋ฐฉ๋ฒ์ผ๋ก ํ์๋ค.
๐๐ป ๋ ๊ฐ๋จํ ๋ฐฉ๋ฒ
import java.util.*;
class Solution {
public int[] solution(int[] num_list) {
List<Integer> list = new ArrayList<>();
for (int num : num_list) {
list.add(num);
}
Collections.reverse(list); // ๋ฆฌ์คํธ ๋ค์ง๊ธฐ
return list.stream().mapToInt(i -> i).toArray(); // ๋ฐฐ์ด๋ก ๋ณํํ์ฌ ๋ฐํ
}
}
Array ๋ง๊ณ ArrayList๋ฅผ ์ด์ฉํจ๋ Collections.reverse()๋ก ์ญ์ ๋ณํ์ด ๊ฐ๋ฅํ๋ค.
๋ค์ ๋ฐฐ์ด ํํ๋ก ๋ฐํํด์ผ ํ๋ฏ๋ก ์คํธ๋ฆผ์ผ๋ก ํ๋ณํ ํด์ผ ํ๋ค.
import java.util.*;
class Solution {
public int[] solution(int[] num_list) {
int[] answer = new int[num_list.length];
for (int i = 0; i < num_list.length; i++) {
answer[i] = num_list[num_list.length - 1 - i]; // ์ญ์ ๋ณต์ฌ
}
return answer;
}
}
์ด๊ฒ ๋ด๊ฐ ๊ตฌํ ํ๋ ค๊ณ ํ๋ ๋ฐฉ์์ด๋ค. ์ฒ์์ ์๋ก์ด ๋น ๋ฐฐ์ด answer[]์ ์ ์ธํ ๋ค์, answer[] ๋ฐฐ์ด์ ์์์๋ถํฐ ๊ฐ์ ์ฑ์๋๊ฐ๋ฉด์ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์ num_list์ ๋งจ ๋ค ์์๋ถํฐ ์์ฐจ์ ์ผ๋ก ๊ฐ์ ๋ฃ๋ ์ฝ๋์ด๋ค.
'Algorithm > JAVAํ ์คํธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] (Java) ํผ์ ๋๋ ๋จน๊ธฐ (1), (2), (3) (6) | 2025.03.10 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] (Java) ์ต๋น๊ฐ ๊ตฌํ๊ธฐ (ํด์๋งต) (9) | 2025.03.06 |
[ํ๋ก๊ทธ๋๋จธ์ค] (Java) ์์ ์ง๋ ๋ฌธ์ ํ์ด (21) | 2025.03.05 |
[๋ฆฌํธ์ฝ๋] LeetCode Longest Common Prefix (Easy) in Java (23) | 2025.02.22 |
[ํ๋ก๊ทธ๋๋จธ์ค] (Java) ์นด๋๋ญ์น (ํ) (6) | 2025.02.20 |