
- ๋ฌธ์ :
- ์์ฐ์n์ ๋ค์ง์ด ๊ฐ ์๋ฆฌ ์ซ์๋ฅผ ์์๋ก ๊ฐ์ง๋ ๋ฐฐ์ด ํํ๋ก ๋ฆฌํดํ๊ธฐ
- 54321์ด๋ฉด [1,2,3,4,5]๋ก ๋ฆฌํดํด์ผํจ
public class proPrac7 {
public static void main(String[] args){
long num = 123 ;
// ๋ค์ง์ด์ ๋ฐฐ์ด๋ก ๋ฐ๊ฟ ๋ณ์๋ฅผ ์ ์ธํจ
String nStr = ""+num;
// ์
๋ ฅ๋ฐ์ ์ ์ํ ๋ณ์๋ฅผ String์ผ๋ก ๋ฐ๊พธ๊ธฐ ์ํด์ ์ฌ์ฉ
// ๋ฌธ์์ด + ์ ์ํ๋ณ์๋ฅผ ๋ํ๋ฉด ๋ฌธ์์ด๋ก ๋ณํ๊ธฐ ๋๋ฌธ!
StringBuffer tp = new StringBuffer(nStr);
String reverse = tp.reverse().toString();
//๋ฌธ์์ด์ ๋ค์ง๊ธฐ ์ํด์ StringBuffer ํด๋์ค๋ฅผ ์ด์ฉํด ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค
//StringBuffer ๊ฐ์ฒด๋ฅผ ์์ฑ ํ์ ์ ๊ณต๋๋ reverse() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ง๋๋ค.
char[] rChar = reverse.toCharArray();
// ๋ค์ง์ ๋ฌธ์์ด์ ํ๊ธ์ ํ๊ธ์ ๋ฐฐ์ด์ ๋ฃ์ด์ผํ๊ธฐ ๋๋ฌธ์ char ๋ฌธ์ํ์ผ๋ก ๋ณํํ๋ค.
int[] answer = new int[rChar.length];
// char๋ฐฐ์ด์ ์๋ ๋ฐ์ดํฐ๋ฅผ intํ ๋ณ์์ ๋ฃ์ด์ ๋ฆฌํดํด์ผ๋๊ธฐ ๋๋ฌธ์ char ๋ฐฐ์ด size ํฌ๊ธฐ์ int ๋ฐฐ์ด์ ๋ง๋ ๋ค.
// char๋ฅผ int๋ก ๋ฐ๊ฟ์ ๋ค์ ์ถ๋ ฅํจ Character์ getNumericValue(char ch) ์ด์ฉ
int i=0; // ์ธ๋ฑ์ค์ฉ
for(char c : rChar){
// rchar์ ์๋ ๊ฐ๋ค์ ๋ค ๋ถ๋ฌ์ฌ๋ ๊น์ง ๋ฐ๋ณต
answer[i++] = Character.getNumericValue(c);
// rchar[i]๊ฐ์ ์ฌ์ฉ ํ i๋ฅผ 1 ์ฆ๊ฐ
// ์ซ์ํํ์ charํ์ Intํ ๋ฐฐ์ด๋ก ๋ฐ๊พธ๊ธฐ ์ํด Character.getNumericValue ํจ์๋ฅผ ์ฌ์ฉ
}
}
}
- ํ์ด :
- ์ ์ํ์ ๋ฌธ์์ด๋ก ์ ์ฅํ์ฌ, ๋ค์ง๊ธฐ์ํด์ StringBuffer์ reserve()๋ฉ์๋๋ฅผ ์ด์ฉํ๋ค.
- ๋ฐ๊พธ๊ณ ์ถ์ ๋ฌธ์์ด์ด ์์ผ๋ฉด StringBuilder ๋๋ StringBuffer ๊ฐ์ฒด๋ฅผ ์์ฑํ์ฌ reverse() ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ ๋ณ๊ฒฝํ ์ ์๋ค.
- ๊ธฐ๋ณธ์ ์ธ Stringํด๋์ค์ ์ธ์คํด์ค๋ ํ๋ฒ ์์ฑ๋๋ฉด ๊ทธ ๊ฐ์ ์ฝ๊ธฐ๋ง ํ ์ ์๊ณ ๋ณ๊ฒฝํ ์ ์์ง๋ง StringBuffer ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ฉด ์ธ์คํด์ค ๊ฐ์ ๋ณ๊ฒฝํ ์๋์๊ณ , ์ถ๊ฐํ ์๋์๋ค.
โ๏ธ ) StringBuffer :
- ์ธ์คํด์ค ๊ฐ ๋ณ๊ฒฝ/์ถ๊ฐ๋ฅผ ์ํด StringBufferํด๋์ค๋ ๋ด๋ถ์ ์ผ๋ก ๋ฒํผ ๊ณต๊ฐ์ ๊ฐ์ง๋ค.
- ๊ธฐ๋ณธ๊ฐ์ 16๊ฐ์ ๋ฌธ์๋ฅผ ์ ์ฅํ ์์๊ณ , ์์ฑ์๋ฅผ ํตํด ํฌ๊ธฐ๋ ๋ณ๋ ์ค์ ์ด ๊ฐ๋ฅํ๋ค.
- ๋ง์ (+) ์ฐ์ฐ์๋ฅผ ์ด์ฉํด String ์ธ์คํด์ค์ ๋ฌธ์์ด์ ๊ฒฐํฉํ๋ฉด, ๋ด์ฉ์ด ํฉ์ณ์ง ์๋ก์ด String ์ธ์คํด์ค๋ฅผ ์์ฑํ์ฌ ๊ฒฐํฉํ๋ฉด ํ ์๋ก ๋ฆ์ด์ง๋๋ฐ, StringBuffer ์ธ์คํด์ค๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฌธ์์ด์ ๋ฐ๋ก ์ถ๊ฐํ ์ ์์ผ๋ฏ๋ก, ๊ณต๊ฐ์ ๋ญ๋น๋ ์๊ณ ๋นจ๋ผ์ง๋ค๊ณ ํจ!
'๐ Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Programmers] Lv1. ์์ฐ์๋ฅผ ๋ค์ง์ด์ ๋ฐฐ์ด๋ก ๋ง๋ค๊ธฐ (0) | 2022.11.22 |
|---|---|
| [Programmers] Lv1. ์์ฐ์๋ฅผ ๋ค์ง์ด์ ๋ฐฐ์ด๋ก ๋ง๋ค๊ธฐ (0) | 2022.11.22 |
| [Programmers] Lv1. ์๋ฆฟ์ ๋ํ๊ธฐ (0) | 2022.11.22 |
| [Programmers] LV1. ์ด์ํ ๋ฌธ์ ๋ง๋ค๊ธฐ (0) | 2022.11.22 |
| [Programmers] LV1. ์์ฃผํ์ง ๋ชปํ ์ ์ (0) | 2022.11.22 |