알맹이방
[프로그래머스] 큰 수 만들기 - java 본문
모든 저의 코드는 아래에서 위로 시간순서가 이루어집니다.
char를 숫자로 바꿔서 비교하고 다시 string 형태로 바꿔서 StringBuilder에 붙이려고 해서 그랬던 것이었다.
사실 char 끼리도 아스킷코드로 크기 비교 가능하다.
그리고 char에서 int 형으로 간단히 바꾸는 방법은
char character = '1';
int num = caracter-'0';
이다.
class Solution {
public String solution(String number, int k) {
int num1 = number.length()-k; //number에서 number-k개를 선택
int index = 0;
int flag;
StringBuilder answer = new StringBuilder();
while(num1 > 0){
String temp = number.substring(index,number.length()-num1+1);
char max = '0';
flag=index;
for(int j = 0 ; j < temp.length() ; j++){ //매 k마다 가장 큰 수 찾음
if(max<temp.charAt(j)){
index = j+flag+1;
max = temp.charAt(j);
}
}
--num1;
answer.append(max);
}
return answer.toString();
}
}
class Solution {
public String solution(String number, int k) {
int num1 = number.length()-k; //number에서 number-k개를 선택
int index = 0;
int flag;
StringBuilder answer = new StringBuilder();
while(num1 > 0){
String temp = number.substring(index,number.length()-num1+1);
int max = 0;
flag=index;
for(int j = 0 ; j < temp.length() ; j++){ //매 k마다 가장 큰 수 찾음
if(max<Character.getNumericValue(temp.charAt(j))){
index = j+flag+1;
max = Character.getNumericValue(temp.charAt(j));
}
}
--num1;
answer.append(max);
}
return answer.toString();
}
}
class Solution {
public String solution(String number, int k) {
int num1 = number.length()-k; //number에서 number-k개를 선택
int index = 0;
int flag;
StringBuilder answer = new StringBuilder();
while(num1 > 0){
String temp = number.substring(index,number.length()-num1+1);
int max = 0;
flag=index;
for(int j = 0 ; j < temp.length() ; j++){ //매 k마다 가장 큰 수 찾음
if(max<Integer.parseInt(String.valueOf(temp.charAt(j)))){
index = j+flag+1;
max = Integer.parseInt(String.valueOf(temp.charAt(j)));
}
}
--num1;
answer.append(max);
}
return answer.toString();
}
}
class Solution {
public String solution(String number, int k) {
String answer = "";
int num1 = number.length()-k; //number에서 number-k개를 선택
int index = 0;
int flag;
StringBuilder sb = new StringBuilder();
System.out.println("original string : "+number);
while(num1 > 0){
String temp = number.substring(index,number.length()-num1+1);
System.out.println("index : "+index+", 어디까지 : "+Integer.toString(number.length()-num1));
System.out.println("temp : "+temp);
int max = 0;
flag=index;
for(int j = 0 ; j < temp.length() ; j++){ //매 k마다 가장 큰 수 찾음
if(max<Integer.parseInt(String.valueOf(temp.charAt(j)))){
index = j+flag+1;
max = Integer.parseInt(String.valueOf(temp.charAt(j)));
}
}
System.out.println("find max : "+max);
System.out.println("index + 1 : "+ index);
--num1;
System.out.println("max : "+max);
sb.append(max);
System.out.println("answer : "+sb);
System.out.println("-------------------------------------");
}
System.out.println(sb);
answer=sb.toString();
return answer;
}
}
class Solution {
public String solution(String number, int k) {
String answer = "";
int num1 = number.length()-k; //number에서 number-k개를 선택
int index = 0;
StringBuilder sb = new StringBuilder(number);
while(num1 > 0){
String temp = number.substring(index,number.length()-num1);
System.out.println("index : "+index+", 어디까지 : "+Integer.toString(number.length()-num1));
System.out.println(temp);
int max = 0;
for(int j = 0 ; j < temp.length() ; j++){ //매 k마다 가장 큰 수 찾음
if(max<Integer.parseInt(String.valueOf(temp.charAt(j)))){
index = j+1;
max = Integer.parseInt(String.valueOf(temp.charAt(j)));
System.out.println("find max : "+Integer.parseInt(String.valueOf(temp.charAt(j))));
System.out.println("index + 1 : "+ index);
}
}
--num1;
System.out.println("max : "+max);
sb.append(Integer.toString(max));
System.out.println(sb);
}
System.out.println(sb);
answer=sb.toString();
return answer;
}
}
class Solution {
public String solution(String number, int k) {
String answer = "";
int num = number.length()-k; //number에서 number-k개를 선택
int index = 0;
while(k>0){
for(int i = index ; i<= number.length(); i++)
}
return answer;
}
}
'알고리즘 > [2020] 프로그래머스' 카테고리의 다른 글
[프로그래머스] H-Index - java (문제 해설 포함) (0) | 2020.05.19 |
---|---|
[프로그래머스] 2020 KAKAO BLIND RECRUITMENT 문자열압축 - java (0) | 2020.05.16 |
[프로그래머스] 스킬트리 - java (0) | 2020.04.29 |
[프로그래머스] 124 나라의 숫자 - java (0) | 2020.04.20 |
[프로그래머스] 기능개발 - java (0) | 2020.04.20 |
Comments