๋ฌธ์ ์ค๋ช
https://school.programmers.co.kr/learn/courses/30/lessons/42746
ํ๋ก๊ทธ๋๋จธ์ค
SW๊ฐ๋ฐ์๋ฅผ ์ํ ํ๊ฐ, ๊ต์ก, ์ฑ์ฉ๊น์ง Total Solution์ ์ ๊ณตํ๋ ๊ฐ๋ฐ์ ์ฑ์ฅ์ ์ํ ๋ฒ ์ด์ค์บ ํ
programmers.co.kr
0 ๋๋ ์์ ์ ์๊ฐ ์ฃผ์ด์ก์ ๋, ์ ์๋ฅผ ์ด์ด ๋ถ์ฌ ๋ง๋ค ์ ์๋ ๊ฐ์ฅ ํฐ ์๋ฅผ ์์๋ด ์ฃผ์ธ์.
์๋ฅผ ๋ค์ด, ์ฃผ์ด์ง ์ ์๊ฐ [6, 10, 2]๋ผ๋ฉด [6102, 6210, 1062, 1026, 2610, 2106]๋ฅผ ๋ง๋ค ์ ์๊ณ , ์ด์ค ๊ฐ์ฅ ํฐ ์๋ 6210์ ๋๋ค.
0 ๋๋ ์์ ์ ์๊ฐ ๋ด๊ธด ๋ฐฐ์ด numbers๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์์๋ฅผ ์ฌ๋ฐฐ์นํ์ฌ ๋ง๋ค ์ ์๋ ๊ฐ์ฅ ํฐ ์๋ฅผ ๋ฌธ์์ด๋ก ๋ฐ๊พธ์ด return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ ์ฌํญ
- numbers์ ๊ธธ์ด๋ 1 ์ด์ 100,000 ์ดํ์ ๋๋ค.
- numbers์ ์์๋ 0 ์ด์ 1,000 ์ดํ์ ๋๋ค.
- ์ ๋ต์ด ๋๋ฌด ํด ์ ์์ผ๋ ๋ฌธ์์ด๋ก ๋ฐ๊พธ์ด return ํฉ๋๋ค.
์ ์ถ๋ ฅ ์
numbers | return |
[6, 10, 2] | "6210" |
[3, 30, 34, 5, 9] | "9534330" |
๋ด๊ฐ ์์ฑํ ์ฝ๋
import java.util.*;
class Solution {
public String solution(int[] numbers) {
// ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ StringBuilder๋ฅผ ์์ฑ
StringBuilder sb = new StringBuilder();
// int ๋ฐฐ์ด์ String ๋ฐฐ์ด๋ก ๋ณํ
String[] stringNums = Arrays.stream(numbers)
.mapToObj(String::valueOf)
.toArray(String[]::new);
// ๋ฌธ์์ด์ ๋ํ ๊ฐ์ด ํฐ ์์๋๋ก ์ ๋ ฌ(๋ด๋ฆผ์ฐจ์)
Arrays.sort(stringNums, (a, b) -> (b + a).compareTo(a + b));
// ๋ง์ฝ ๊ฐ์ฅ ํฐ ๊ฐ์ด "0"์ธ ๊ฒฝ์ฐ
if (stringNums[0].equals("0")) {
// "0" ๋ฐํ
return "0";
}
// ๋ฐ๋ณต๋ฌธ์ ํ์ฉํ์ฌ ์ ๋ ฌ๋ ๋ฌธ์์ด ์์๋๋ก ์ด์ด ๋ถ์ด๊ธฐ
for (String s : stringNums) {
sb.append(s);
}
// StringBuilder ๊ฐ์ String์ผ๋ก ๋ณํ
String answer = sb.toString();
// answer ๋ฐํ
return answer;
}
}
๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด ์๊ฐํ ๋ฐฉํฅ
- ์ฒ์ ์๊ฐํ๋ ๋ฐฉํฅ์ ์๋ก์ด ๋ฆฌ์คํธ๋ฅผ ๋ง๋ค์ด์ ์กฐํฉ ๊ฐ๋ฅํ ๊ฐ ๋ชจ๋ ์ถ๊ฐ ํ ๋ด๋ฆผ์ฐจ์/์ค๋ฆ์ฐจ์ ์ ๋ ฌ ํ answer์ ๊ฐ์ฅ ํฐ ๊ฐ์ ์
๋ ฅํ๋ ๊ฒ์ด์๋ค.
ํ์ง๋ง ์กฐํฉ ๊ฐ๋ฅํ ๊ฐ์ ๋ชจ๋ ๋ง๋ค์ด ๋ด๋ ๊ฒ์ด ๋นํจ์จ์ ์ด๋ผ๋ ์๊ฐ๊ณผ ํจ๊ป ๋ค๋ฅธ ๋ฐฉ๋ฒ์ด ๋ ์ค๋ฅด์ง ์์๋ค. - ๊ตฌ๊ธ๋ง์ ํตํด ํด๋น ๋ฌธ์ ์ ํํธ๋ฅผ ์ป์ด compareTo() ๋ฉ์๋๋ฅผ ํตํด ๋ ๊ฐ์ ๊ฐ์ ๋น๊ตํ๊ณ ์ ๋ ฌํ ์ ์๋ค๋ ๊ฒ์ ์๊ฒ ๋์๊ณ , ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์๋ค.
'๐งฉ ํ๋ก๊ทธ๋๋จธ์ค > ๐ต ์๊ณ ๋ฆฌ์ฆ ํ์ด(Java)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค/Java] ์์ฃผํ์ง ๋ชปํ ์ ์ (2) | 2025.04.03 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค/Java] H-index (0) | 2025.04.02 |
[ ํ๋ก๊ทธ๋๋จธ์ค/Java ] ๊ธฐ๋ฅ๊ฐ๋ฐ (1) | 2025.03.29 |
[ ํ๋ก๊ทธ๋๋จธ์ค/Java ] ์์ฐ (1) | 2025.03.28 |
[ ํ๋ก๊ทธ๋๋จธ์ค/Java ] ๊ฐ์ ์ซ์๋ ์ซ์ด (1) | 2025.03.27 |