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

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

by 블루데이제이 2024. 5. 22.
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
반응형