코테/프로그래머스

[프로그래머스/Lv. 0] 문자열 정렬하기 (1)

imname1am 2023. 2. 7. 12:04
반응형

내 코드 (틀림)

import java.util.*;

class Solution {
    public int[] solution(String my_string) {
        int cnt = 0;
        
        for(int i=0 ; i < my_string.length() ; i++) {
            if((48 <= (int)my_string.charAt(i)) && ((int)my_string.charAt(i) <= 57)) {
                cnt++;
            }
        }
        
        int[] answer = new int[cnt];
        
        for(int i=0 ; i < my_string.length() ; i++) {
            if((48 <= (int)(my_string.charAt(i))) && ((int)(my_string.charAt(i)) <= 57)) {
                answer.append((int)(my_string.charAt(i)));
            }
        }
        
        Arrays.sort(answer);
        
        return answer;
    }
}

char형 숫자를 (int)하면 int로 형 변환 알아서 해주는 줄 알았지.... 

 

import java.util.*;

class Solution {
    public int[] solution(String my_string) {
        
        List<String> list = new ArrayList<>();
        String[] s = my_string.split("");
        
        for(int i=0 ; i < my_string.length() ; i++) {
                if(s[i].equals("0") || 
                   s[i].equals("1") || 
                   s[i].equals("2") || 
                   s[i].equals("3") || 
                   s[i].equals("4") || 
                   s[i].equals("5") || 
                   s[i].equals("6") || 
                   s[i].equals("7") || 
                   s[i].equals("8") || 
                   s[i].equals("9")) {
                    list.add(s[i]);
                }
        }        
            
        Collections.sort(list);
        
        int[] answer = new int[list.size()];
        
        for(int i=0 ; i < list.size() ; i++) {
            answer[i] = Integer.parseInt(list.get(i));
        }
        
        return answer;
    }
}

아래 글 참고함!!

 

[프로그래머스 / Java] 문자열 정렬하기 (1)

마음에 안 드는 코드지만 일단은 통과... stream 에 익숙하지 않다보니 코드가 길어질 수밖에 없는 것 같다. 공부해야지

velog.io


+ 내가 머릿속에서 생각하던 거는 이거!

import java.util.*;

class Solution {
    public int[] solution(String my_string) {

        my_string = my_string.replaceAll("[a-z]","");

        int[] answer = new int[my_string.length()];

        for(int i = 0 ; i < my_string.length() ; i++){
            answer[i] = my_string.charAt(i) - '0';
        }

        Arrays.sort(answer);

        return answer;
    }
}
 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

char형 숫자 → int 변환 : - '0'; (11번째 줄)

이거 자꾸 까먹음....🤦‍♀️


(참고)

 

[C/C++] char 형 int로 변환하기

Char 형 int 형으로 변환하기 Char 형 C언어에서 Char형은 Character의 줄임말로 기본적으로 문자를 저장할 때 사용되는 자료형이다. 해당하는 문자의 ASCII 코드 값이 정수로 저장되어있다. ASCII 코드 위

cryptosalamander.tistory.com

 

반응형