목표 ¶
ìž„ì�˜ì�˜ int 변수를 받아서 그것ì�˜ ì—순ì�„ 다시 int 로 리턴
최대한 많� 방법� 찾�
최대한 많� 방법� 찾�
소스 ¶
Java로 작성..
1.ë¨¼ì € ë– ì˜¤ë¥´ëŠ”ê±´ 그냥 잘ë�¼ë¶™ì�´ê¸°
2.ë°°ì—´ ì�¸ë�±ìŠ¤ë¥¼ 거꾸로 ì €ìž¥
3.루프를 반만 �면서 swap
4.ì œì�¼ 뻘짓;; Arraysì�˜ 소트 함수를 ì�´ìš©. 배보다 ë°°ê¼½ì�´..
5.루프를 ì—†ì• ê³ ë¦¬ì»¤ì‹œë¸Œë¡œ
6.String class� 기능� 활용
7.배열 거꾸로 �기. �런 간단한 방법� 있었는�;;
8.스�� �용
9. Collections �래스를 �용
public int reverseNo1(int num) {
int input = num;
int reversed= 0;
final int scale= 10;
while(input%scale>0) {
reversed *= scale;
reversed = reversed + input%scale;
input /= scale;
}
return reversed;
}
public int reverseNo2(int num) {
String input= String.valueOf(num);
char[] reversedChar= new char[input.length()];
for(int i=0;i<input.length();i++) {
reversedChar[input.length-i-1]= input.charAt(i);
}
return Integer.parseInt(new String(reversedChar));
}
public int reverseNo3(int num) {
char[] numChars= String.valueOf(num).toCharArray();
int range= numChars.length;
for(int i=0;i<range/2;i++) {
char temp= numChars[i];
numChars[i]= numChars[range-i-1];
numChars[range-i-1]= temp;
}
String stringNum= new String(numChars);
return Integer.parseInt(stringNum);
}
public int reverseNo4(int num) {
char[] numChars= String.valueOf(num).toCharArray();
CharBox[] charBoxes= new CharBox[numChars.length];
for(int i=0;i<numChars.length;i++) {
charBoxes[i]= new CharBox(i, numChars[i]);
}
Arrays.sort(charBoxes);
for(int i=0;i<numChars.length;i++) {
numChars[i]= charBoxes[i].getChar();
}
return Integer.parseInt(new String(numChars));
}
class CharBox implements Comparable<CharBox> {
int order;
char inputChar;
public CharBox(int order, char ch) {
this.order= order;
this.inputChar= ch;
}
public char getChar() {
return inputChar;
}
public int compareTo(CharBox o) {
if(order>o.order)
return -1;
return 1;
}
}
public int reverseNo5(int num) {
return reverseByRecursion(num, 0);
}
private int reverseByRecursion(int input, int made) {
if(input==0)
return made;
return reverseByRecursion(input/10, made*10 + input%10);
}
public int reverseNo6(int num) {
String intput= String.valueOf(num);
String result= "";
for(int i=intput.length();i>0;i--) {
result = intput.charAt(0) + result;
intput= intput.substring(1);
}
return Integer.parseInt(result);
}
public int reverseNo7(int num) {
String number= String.valueOf(num);
StringWriter sw= new StringWriter();
for(int i= number.length()-1;i>=0;i--) {
sw.write(number.charAt(i));
}
return Integer.parseInt(sw.toString());
}
public int reverseNo8(int num) {
Stack<Character> stack= new Stack<Character>();
char[] chars= String.valueOf(num).toCharArray();
for(char c : chars) {
stack.push(c);
}
StringWriter sw= new StringWriter();
while(stack.size()>0) {
sw.write(stack.pop());
}
return Integer.parseInt(sw.toString());
}
public int reverseNo9(int num) {
String[] strings= String.valueOf(num).split("");
List<String> list= Arrays.asList(strings);
Collections.reverse(list);
StringWriter sw= new StringWriter();
for (String string : list) {
sw.write(string);
}
return Integer.parseInt(sw.toString());
}
잡담 ¶
다른 방법 찾는거 왜케 재밌지..ã…‹ ì�Œ ë�” ì§§ê³ ê°„ë‹¨í•œ 방법ì�´ 있ì�„꺼 ê°™ì�€ë�°..
----
í† ì�´ í† ì�´/숫ìž�뒤집기
í† ì�´ í† ì�´/숫ìž�뒤집기










