Open enoch012 opened 1 year ago
class Solution {
public long solution(long n) {
long answer = 0;
String answerStr = "";
String strN = Long.toString(n); // 문자열 변환
String[] strArr = strN.split(""); // 한 글자씩 분리하여 배열 생성
for(int i = 1; i < strArr.length; i++){
for(int j = 0; j < strArr.length - 1; j++){
String num1 = strArr[j];
String num2 = strArr[i];
if(!compareNum(num1, num2)){
// strArr[i]가 strArr[i-1] 보다 큰 경우 위치를 바꿔준다.
strArr[j] = num2;
strArr[i] = num1;
}
}
}
// 배열을 문자열로 만든다
for(String strNum : strArr){
answerStr += strNum;
}
answer = Long.parseLong(answerStr); // 문자열을 long 형태로 다시 형변환
return answer;
}
// 두 개의 문자열 형태의 숫자를 비교하는 함수
boolean compareNum(String num1, String num2){
return Integer.valueOf(num1) >= Integer.valueOf(num2) ? true : false;
}
}
public class ReverseInt {
String res = "";
public int reverseInt(int n){
res = "";
Integer.toString(n).chars().sorted().forEach(c -> res = Character.valueOf((char)c) + res);
return Integer.parseInt(res);
}
}
// char 타입으로 돌린 2중 for문
for(int i = 0; i < numbers.length; i++) {
for(int j = 0; j < i; j++) {
if(numbers[i] - 48 > numbers[j] - 48) {
char temp = numbers[i];
numbers[i] = numbers[j];
numbers[j] = temp;
}
}
}
정수 제곱근 판별
문제
제한사항
입출력 예
n | return -- | -- 121 | 144 3 | -1문제풀이
회고