본문 바로가기
코딩테스트/프로그래머스 Lv.1

[코딩테스트 Lv.1] 문자열 내림차순으로 배치하기

by 블루데이제이 2024. 10. 16.
728x90
반응형
문제 설명

문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.

제한사항
str은 길이 1 이상인 문자열입니다.
입출력 예
s		return
"Zbcdefg"	"gfedcbZ"

내 풀이
Java
import java.util.*;
class Solution {
    public String solution(String s) {
        String answer = "";
        
        char[] arr = s.toCharArray();
        
        Arrays.sort(arr);
       
        for(int i = arr.length - 1; i >=0; i--){
            answer += arr[i];
        }
        
        return answer;
    }
}
C
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

// 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.
char* solution(const char* s) {
    // return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
    char* answer = (char*)malloc(sizeof(char) * strlen(s));
    
    char* ss = s;
    char* t = (char*)malloc(1);
    
    int i, j;
    int k = 0;
    
    for(i = 0; i < strlen(ss) - 1; i++){
        for(j = i + 1; j < strlen(ss); j++){            
            if(ss[i] > ss[j]){
                t = ss[i];
                ss[i] = ss[j];
                ss[j] = t;
            }
        }
    }
    
    for(i = strlen(ss) - 1; i >= 0; i--){
        answer[k++] = ss[i];
    }
    answer[k] = '\0';
    
    return answer;
}
Python
def solution(s):  
    s = sorted(s);    
    answer = ''.join(s[::-1])    
    return answer

https://school.programmers.co.kr/learn/courses/30/lessons/12917

 

프로그래머스

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

programmers.co.kr

 

728x90
반응형