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

[코딩테스트 Lv.0] rny_string

by 블루데이제이 2025. 2. 8.
728x90
반응형
문제 설명

'm'과 "rn"이 모양이 비슷하게 생긴 점을 활용해 문자열에 장난을 하려고 합니다. 문자열 rny_string이 주어질 때, rny_string의 모든 'm'을 "rn"으로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요.

제한사항
1 ≤ rny_string의 길이 ≤ 100
rny_string은 영소문자로만 이루어져 있습니다.
입출력 예
rny_string	result
"masterpiece"	"rnasterpiece"
"programmers"	"prograrnrners"
"jerry"		"jerry"
"burn"		"burn"
입출력 설명
입출력 예 #1
예제 1번의 rny_string의 'm'을 "rn"으로 바꾸는 과정을 표로 나타내면 다음과 같습니다.
rny_string	m	a	s	t	e	r	p	i	e	c	e
result		rn	a	s	t	e	r	p	i	e	c	e
따라서 "rnasterpiece"를 return 합니다.

입출력 예 #2
예제 2번의 rny_string의 'm'을 "rn"으로 바꾸는 과정을 표로 나타내면 다음과 같습니다.
rny_string	p	r	o	g	r	a	m	m	e	r	s
result		p	r	o	g	r	a	rn	rn	e	r	s
따라서 "prograrnrners"를 return 합니다.

입출력 예 #3
예제 3번의 rny_string에는 'm'이 없습니다. 따라서 rny_string 그대로인 "jerry"를 return 합니다.

입출력 예 #4
예제 4번의 rny_string에는 'm'이 없습니다. 따라서 rny_string 그대로인 "burn"를 return 합니다.

내 풀이
Java
class Solution {
    public String solution(String rny_string) {
        String answer = rny_string.replace("m","rn");
        return answer;
    }
}
C
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

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

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

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

 

728x90
반응형