728x90
반응형
문제 설명
영어 대소문자로 이루어진 문자열 my_string이 매개변수로 주어질 때, my_string을 모두 소문자로 바꾸고 알파벳 순서대로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요.
제한사항
0 < my_string 길이 < 100
입출력 예
my_string result
"Bcad" "abcd"
"heLLo" "ehllo"
"Python" "hnopty"
입출력 예 설명
입출력 예 #1
"Bcad"를 모두 소문자로 바꾸면 "bcad"이고 이를 알파벳 순으로 정렬하면 "abcd"입니다.
입출력 예 #2
"heLLo"를 모두 소문자로 바꾸면 "hello"이고 이를 알파벳 순으로 정렬하면 "ehllo"입니다.
입출력 예 #3
"Python"를 모두 소문자로 바꾸면 "python"이고 이를 알파벳 순으로 정렬하면 "hnopty"입니다.
내 풀이
Java
import java.util.*;
class Solution {
public String solution(String my_string) {
my_string = my_string.toLowerCase();
char[] arrStr = my_string.toCharArray();
Arrays.sort(arrStr);
String answer = new String(arrStr);
return answer;
}
}
C
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
// 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.
char* solution(const char* my_string) {
// return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
int len = strlen(my_string);
char* answer = (char*)malloc(len*sizeof(char));
int cnt = 0;
for(int i = 0; i < len; i++){
if(my_string[i] >= 'A' && my_string[i] <= 'Z'){
answer[cnt++] = my_string[i] + 32;
}else{
answer[cnt++] = my_string[i];
}
}
answer[cnt] = '\0';
for(int i = 0; i < cnt; i++){
for(int j = i + 1; j < cnt; j++){
char temp;
if(answer[i] > answer[j]){
temp = answer[i];
answer[i] = answer[j];
answer[j] = temp;
}
}
}
return answer;
}
Python
def solution(my_string):
answer = ''
my_string = my_string.lower()
s = []
s = sorted(my_string)
answer = ''.join(s)
return answer
https://school.programmers.co.kr/learn/courses/30/lessons/120911
728x90
반응형
'코딩테스트 > 프로그래머스 입문' 카테고리의 다른 글
[코딩테스트 Lv.0] 잘라서 배열로 저장하기 (0) | 2024.04.20 |
---|---|
[코딩테스트 Lv.0] 7의 개수 (0) | 2024.04.19 |
[코딩테스트 Lv.0] 세균 증식 (0) | 2024.04.19 |
[코딩테스트 Lv.0] 두 수의 합 (0) | 2024.04.18 |
[코딩테스트 Lv.0] 제곱수 판별하기 (0) | 2024.04.18 |