Notice
Recent Posts
Recent Comments
Link
| ์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
|---|---|---|---|---|---|---|
| 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 |
Tags
- baekjoon
- ์ฝ๋ฉํ ์คํธ
- ์ฝํ ์๋ฐ
- Coding-Test
- Android
- ScreenSize
- ๋ฐฑ์ค
- JavaCodingTest
- programmers
- ํฐ์คํ ๋ฆฌ์ฑ๋ฆฐ์ง
- ํ๋ฉด ํฌ๊ธฐ ๊ตฌํ๊ธฐ
- ์๋ฐ ์ฝ๋ฉํ ์คํธ
- ์ฝํ
- ์ฝํ๋ฆฐ
- CodingTestJava
- javaCoding
- ์ฝ๋ฉํ ์คํธ ์๋ฐ
- ๋ทฐ๋ฐ์ธ๋ฉ
- ์ฐํ ํ๊ธ๋ฐ
- ์๋ฐ
- ์ค๋ธ์
- BottomNavigation
- pattern
- CodingTest
- Java
- ModelViewPresenter
- kotlin
- viewpager2
- ์ฝ๋ฉํ ์คํธ JAVA
- ์๋๋ก์ด๋
Archives
- Today
- Total
KDLiam
[Programmers ์ฝ๋ฉ ๊ธฐ์ด ํธ๋ ์ด๋ : Java] ์ด์ด ๋ถ์ธ ์ ๋ณธ๋ฌธ
Problems(Java)/Programmers
[Programmers ์ฝ๋ฉ ๊ธฐ์ด ํธ๋ ์ด๋ : Java] ์ด์ด ๋ถ์ธ ์
KDLiam 2025. 10. 10. 17:36๐ ๋ฌธ์ ๋งํฌ
ํ๋ก๊ทธ๋๋จธ์ค 181928 - ์ง์/ํ์ ์ด์ด๋ถ์ฌ ํฉ ๊ตฌํ๊ธฐ
๐ก ๋ฌธ์ ์์ฝ
- ์ ์ ๋ฐฐ์ด num_list๊ฐ ์ฃผ์ด์ง๋๋ค.
- ์ง์ ์ซ์๋ง ์์๋๋ก ์ด์ด๋ถ์ฌ ๋ง๋ ์ซ์์ ํ์ ์ซ์๋ง ์์๋๋ก ์ด์ด๋ถ์ฌ ๋ง๋ ์ซ์๋ฅผ ๊ฐ๊ฐ ๊ตฌํฉ๋๋ค.
- ๋ ์ซ์์ ํฉ์ ๋ฐํํฉ๋๋ค.
์:
num_list = [3,4,5,6]
์ง์ ์ซ์ ์ด์ด๋ถ์ด๊ธฐ → 46
ํ์ ์ซ์ ์ด์ด๋ถ์ด๊ธฐ → 35
๊ฒฐ๊ณผ → 46 + 35 = 81
๐งฉ ์ฒ์ ์์ฑํ ์ฝ๋ (๋นํจ์จ์ )
class Solution {
public int solution(int[] num_list) {
int answer = 0;
StringBuilder evenStr = new StringBuilder();
StringBuilder oddStr = new StringBuilder();
for(int i=0;i<num_list.length;i++) {
if((num_list[i]%2)==0) {
evenStr.append(String.valueOf(num_list[i]));
} else {
oddStr.append(String.valueOf(num_list[i]));
}
}
int evenNum = Integer.parseInt(evenStr.toString());
int oddNum = Integer.parseInt(oddStr.toString());
return evenNum + oddNum;
}
}
โ ๋ฌธ์ ์
- ๋ฌธ์์ด๋ก ๋ณํ ํ ์ด์ด๋ถ์ด๊ณ ๋ค์ ์ ์๋ก ๋ณํ → ๋ถํ์ํ ์ฐ์ฐ์ด ๋ง์
- StringBuilder ์ฌ์ฉ์ด ํ์ ์๋ ๋ฌธ์
๐งฉ ๊ฐ์ ๋ ์ฝ๋ (ํจ์จ์ )
class Solution {
public int solution(int[] num_list) {
int evenNum = 0;
int oddNum = 0;
for(int i=0;i<num_list.length;i++) {
if(num_list[i]%2==0) {
evenNum = evenNum*10 + num_list[i];
} else {
oddNum = oddNum*10 + num_list[i];
}
}
return evenNum + oddNum;
}
}
โ ๊ฐ์ ํฌ์ธํธ
- ๋ฌธ์์ด ๋ณํ ์์ด ๊ณฑํ๊ธฐ 10 ํ ๋ํ๊ธฐ๋ก ์ซ์ ์ด์ด๋ถ์
- ๋ฉ๋ชจ๋ฆฌ ํจ์จ๊ณผ ์ฐ์ฐ ์๋ ํฅ์
- ์ฝ๋๊ฐ ํจ์ฌ ์ง๊ด์ ์ด๊ณ ๊น๋
โก ์ฑ๋ฅ ์ธก๋ฉด
ํญ๋ชฉ์๋ณธ๊ฐ์
| ์๊ฐ ๋ณต์ก๋ | O(n) + ๋ฌธ์์ด ๋ณํ/ํ์ฑ ๋น์ฉ | O(n) (๋จ์ ์ฐ์ฐ๋ง) |
| ๊ณต๊ฐ ๋ณต์ก๋ | O(n) (StringBuilder ์ฌ์ฉ) | O(1) (์ถ๊ฐ ๋ฉ๋ชจ๋ฆฌ ๊ฑฐ์ ์์) |
| ์คํ ์๋ | ๋๋ฆผ (๋ฌธ์์ด ์ฐ์ฐ ํฌํจ) | ๋น ๋ฆ |
- ๊ฐ์ ๋ ๋ฐฉ์์ด ํจ์จ์ ์ด๋ฉฐ, ๋ฌธ์ ์๋์ ๋ ๋ถํฉ
๐ ์ ๋ฆฌ
- ๋ฌธ์ ๋ฅผ ์ ํํ ์ฝ๊ณ ์๋๋ฅผ ํ์ ํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ค์
- ๋ฌธ์์ด ๋ณํ ์์ด ์ซ์ ์ฐ์ฐ๋ง์ผ๋ก ํด๊ฒฐ ๊ฐ๋ฅ → ๋ฉ๋ชจ๋ฆฌ/์ฑ๋ฅ ๋ชจ๋ ํฅ์
- ์ซ์๋ฅผ ์ด์ด๋ถ์ผ ๋๋ *10 + ํ์ฌ๊ฐ ํจํด ๊ธฐ์ต