코딩테스트/프로그래머스 기초

[코딩테스트 Lv.0] l로 만들기

블루데이제이 2024. 5. 22. 13:09
728x90
반응형
문제 설명

알파벳 소문자로 이루어진 문자열 myString이 주어집니다. 알파벳 순서에서 "l"보다 앞서는 모든 문자를 "l"로 바꾼 문자열을 return 하는 solution 함수를 완성해 주세요.

제한사항
1 ≤ myString ≤ 100,000
    myString은 알파벳 소문자로 이루어진 문자열입니다.
입출력 예
myString	result
"abcdevwxyz"	"lllllvwxyz"
"jjnnllkkmm"	"llnnllllmm"
입출력 설명
입출력 예 #1
0 ~ 4번 인덱스의 문자 "a","b","c","d","e"는 각각 "l"보다 앞서는 문자입니다. 따라서 "l"로 고쳐줍니다.
그 외의 문자는 모두 "l"보다 앞서지 않는 문자입니다. 따라서 바꾸지 않습니다.
따라서 "lllllvwxyz"을 return 합니다.

입출력 예 #2
0번, 1번, 6번, 7번 인덱스의 문자 "j","j","k","k"는 각각 "l"보다 앞서는 문자입니다. 따라서 "l"로 고쳐줍니다.
그 외의 문자는 모두 "l"보다 앞서지 않는 문자입니다. 따라서 바꾸지 않습니다.
따라서 "llnnllllmm"을 return 합니다.

내 풀이
Java
class Solution {
    public String solution(String myString) {
        String answer = "";
        
        for(int i = 0; i < myString.length(); i++){
            if(myString.charAt(i) < 'l'){
                answer += "l";
            }else{
                answer += String.valueOf(myString.charAt(i));
            }
        }
        
        return answer;
    }
}
C
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

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

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

 

프로그래머스

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

programmers.co.kr

 

 

 

 

Apple 2024 맥북 에어 13 M3

COUPANG

www.coupang.com

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

728x90
반응형