๋ฌธ์ ์ค๋ช
ํจ์ solution์ ์ ์ n์ ๋งค๊ฐ๋ณ์๋ก ์ ๋ ฅ๋ฐ์ต๋๋ค. n์ ๊ฐ ์๋ฆฟ์๋ฅผ ํฐ ๊ฒ๋ถํฐ ์์ ์์ผ๋ก ์ ๋ ฌํ ์๋ก์ด ์ ์๋ฅผ ๋ฆฌํดํด์ฃผ์ธ์. ์๋ฅผ ๋ค์ด n์ด 118372๋ฉด 873211์ ๋ฆฌํดํ๋ฉด ๋ฉ๋๋ค.
https://school.programmers.co.kr/learn/courses/30/lessons/12933
ํ๋ก๊ทธ๋๋จธ์ค
SW๊ฐ๋ฐ์๋ฅผ ์ํ ํ๊ฐ, ๊ต์ก, ์ฑ์ฉ๊น์ง Total Solution์ ์ ๊ณตํ๋ ๊ฐ๋ฐ์ ์ฑ์ฅ์ ์ํ ๋ฒ ์ด์ค์บ ํ
programmers.co.kr
์ ํ ์ฌํญ
- n์ 1 ์ด์ 8,000,000,000 ์ดํ์ธ ์์ฐ์์ ๋๋ค.
์ ์ถ๋ ฅ ์
n | return |
118372 | 873211 |
๋ด๊ฐ ์์ฑํ ์ฝ๋
import java.util.*;
class Solution {
public long solution(long n) {
long answer = 0;
String[] str = String.valueOf(n).split("");
Arrays.sort(str, Collections.reverseOrder());
String newstr = "";
for (int i = 0; i < str.length; i++) {
newstr += str[i];
}
answer = Long.parseLong(newstr);
return answer;
}
}
์ฝ๋ ์ค๋ช
- String[ ] str = String.valueOf(n).split("") : long ํ์ ์ n์ String์ผ๋ก ํ๋ณํ ํ String ํ์ ์ ๋ฐฐ์ด str์ ํ ๊ธ์์ฉ ์ ๋ ฅํ๋ค.
- Arrays.sort(str, Collections.reverseOrder( )) : String ํ์ ์ ๋ฐฐ์ด str์ ์์๋ฅผ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ค.
- String newstr = "" : ๊ฐ์ด ์๋ String ํ์ ์ ๋ณ์ newstr๋ฅผ ์์ฑํ๋ค.
- for (int i = 0; i < str.length; i++) { } : ๋ฐ๋ณต๋ฌธ์ ์ด์ฉํ์ฌ i๊ฐ 0๋ถํฐ str.length - 1๊น์ง ์ฆ๊ฐํ๋ฉฐ ๋ฐ๋ณตํ๋ค.
- newstr += str[i] : ๋น์ด์๋ ๋ณ์ newstr์ ๋ฐฐ์ด str์ ์๋ ๊ฐ์ ์ธ๋ฑ์ค ์์๋๋ก ํ๋์ฉ ์ ๋ ฅํ๋ค.
- anwer = Long.parseLong(newstr) : String ํ์
์ newstr์ ์
๋ ฅ๋ฐ์ long ํ์
์ผ๋ก ํ๋ณํํ์ฌ answer์ ์ ์ฅํ๋ค.
- ๋ณ์ newstr์ด ์ซ์๋ก ๊ตฌ์ฑ๋ ๋ฌธ์์ด์ด์ด์ผ ํ๋ค.
- parseLong( ) : Long ํด๋์ค์ ์ ์ ๋ฉ์๋๋ก, String ํ์ ์ ๋ฌธ์์ด์ long ํ์ ์ ์ซ์๋ก ํ๋ณํํ๋ค.
'๐งฉ ํ๋ก๊ทธ๋๋จธ์ค > ๐ต ์๊ณ ๋ฆฌ์ฆ ํ์ด(Java)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ ์ ์ ์ฌ์ด์ ํฉ (1) | 2024.11.08 |
---|---|
ํ์ค๋ ์ (0) | 2024.11.08 |
์ ์ ์ ๊ณฑ๊ทผ ํ๋ณ (0) | 2024.11.06 |
๋ฌธ์์ด์ ์ ์๋ก ๋ฐ๊พธ๊ธฐ (1) | 2024.11.03 |
์์ฐ์ ๋ค์ง์ด ๋ฐฐ์ด๋ก ๋ง๋ค๊ธฐ (0) | 2024.11.03 |