728x90
반응형
문자열 my_string이 매개변수로 주어질 때, my_string 안에 있는 숫자만 골라 오름차순 정렬한 리스트를 return 하도록 solution 함수를 작성해보세요.
제한사항
1 ≤ my_string의 길이 ≤ 100
my_string에는 숫자가 한 개 이상 포함되어 있습니다.
my_string은 영어 소문자 또는 0부터 9까지의 숫자로 이루어져 있습니다.
입출력 예
my_string result
"hi12392" [1, 2, 2, 3, 9]
"p2o4i8gj2" [2, 2, 4, 8]
"abcde0" [0]
입출력 예 설명
입출력 예 #1
"hi12392"에 있는 숫자 1, 2, 3, 9, 2를 오름차순 정렬한 [1, 2, 2, 3, 9]를 return 합니다.
입출력 예 #2
"p2o4i8gj2"에 있는 숫자 2, 4, 8, 2를 오름차순 정렬한 [2, 2, 4, 8]을 return 합니다.
입출력 예 #3
"abcde0"에 있는 숫자 0을 오름차순 정렬한 [0]을 return 합니다.
내 풀이
[Java]
import java.util.*;
class Solution {
public int[] solution(String my_string) {
ArrayList<Integer> list = new ArrayList<>();
for(int i = 0; i < my_string.length(); i++){
if(isNumber(my_string.substring(i, i + 1))){
list.add(Integer.parseInt(my_string.substring(i, i + 1)));
}
}
Collections.sort(list);
int[] answer = new int[list.size()];
for(int i = 0; i < list.size(); i++){
answer[i] = list.get(i).intValue();
}
return answer;
}
private boolean isNumber(String str){
return str.chars().allMatch(Character::isDigit);
}
}
[C]
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
// 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.
int* solution(const char* my_string) {
// return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
int len = strlen(my_string);
int* answer = (int*)malloc(sizeof(int) * len + 1);
int cnt = 0;
for(int i = 0; i < strlen(my_string); i++){
if(my_string[i] >= '0' && my_string[i] <= '9'){
answer[cnt++] = my_string[i] - '0';
}
}
answer[cnt] = '\0';
int temp;
for(int i = 0; i < cnt; i++){
for(int j = 0; j < cnt; j++){
if(answer[i] < answer[j]){
temp = answer[i];
answer[i] = answer[j];
answer[j] = temp;
}
}
}
return answer;
}
[Python]
def solution(my_string):
answer = []
for i in my_string:
if i.isdigit():
answer.append(int(i))
answer.sort()
return answer
https://school.programmers.co.kr/learn/courses/30/lessons/120850
728x90
반응형
'코딩테스트 > 프로그래머스 입문' 카테고리의 다른 글
[코딩테스트 Lv.0] 소인수분해 (0) | 2024.01.31 |
---|---|
[코딩테스트 Lv.0] 숨어있는 숫자의 덧셈 (1) (0) | 2024.01.30 |
[코딩테스트 Lv.0] 두 수의 나눗셈 (0) | 2024.01.27 |
[코딩테스트 Lv.0] 모음 제거 (0) | 2024.01.26 |
[코딩테스트 Lv.0] 팩토리얼 (0) | 2024.01.23 |