728x90
반응형
문제 설명
문자열 myString과 pat가 주어집니다. myString의 부분 문자열중 pat로 끝나는 가장 긴 부분 문자열을 찾아서 return 하는 solution 함수를 완성해 주세요.
제한사항
● 5 ≤ myString ≤ 20
● 1 ≤ pat ≤ 5
○ pat은 반드시 myString의 부분 문자열로 주어집니다.
● myString과 pat에 등장하는 알파벳은 대문자와 소문자를 구분합니다.
입출력 예
myString pat result
"AbCdEFG" "dE" "AbCdE"
"AAAAaaaa" "a" "AAAAaaaa"
입출력 설명
입출력 예 #1
"AbCdEFG"에서 "dE"는 한 번 등장하며 처음부터 해당 위치까지 잘라내면 "AbCdE"가 됩니다. 따라서 이 문자열이 "dE"로 끝나는 가장 긴 문자열이며, "AbCdE"를 return 합니다.
입출력 예 #2
"AAAAaaaa"에서 "a"는 총 네 번 등장하며 이 중 가장 마지막에 있는 위치까지 잘라내면 "AAAAaaaa"가 됩니다. 따라서 이 문자열이 "a"로 끝나는 가장 긴 문자열이며, "AAAAaaaa"를 return 합니다.
내 풀이
Java
class Solution {
public String solution(String myString, String pat) {
String answer = "";
for(int i = 0; i < myString.length() - pat.length() + 1; i++){
String str = myString.substring(0, i + pat.length());
if(str.endsWith(pat)){
answer = str;
}
}
return answer;
}
}
C
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
// 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.
char* solution(const char* myString, const char* pat) {
// return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
char* answer = (char*)malloc(21);
int k = 0;
int i = 0;
for(i = 0; i < strlen(myString); i++){
if(strncmp(&myString[i], pat, strlen(pat)) == 0){
k = i + strlen(pat);
}
}
for(i = 0; i < k; i++){
answer[i] = myString[i];
}
answer[k] = '\0';
return answer;
}
Python
def solution(myString, pat):
answer = ''
for i in range(len(myString) - len(pat) + 1):
str = myString[0:i + len(pat)]
if str[len(pat)*-1:] == pat:
answer = str
return answer
https://school.programmers.co.kr/learn/courses/30/lessons/181872
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
[코딩테스트 Lv.0] 문자열이 몇 번 등장하는지 세기
문제 설명문자열 myString과 pat이 주어집니다. myString에서 pat이 등장하는 횟수를 return 하는 solution 함수를 완성해 주세요.제한사항1 ≤ myString ≤ 10001 ≤ pat ≤ 10입출력 예myString pat result"ba
bluedayj.tistory.com
[코딩테스트 Lv.0] ad 제거하기
문제 설명문자열 배열 strArr가 주어집니다. 배열 내의 문자열 중 "ad"라는 부분 문자열을 포함하고 있는 모든 문자열을 제거하고 남은 문자열을 순서를 유지하여 배열로 return 하
bluedayj.tistory.com
728x90
반응형
'코딩테스트 > 프로그래머스 기초' 카테고리의 다른 글
[코딩테스트 Lv.0] A 강조하기 (0) | 2025.02.20 |
---|---|
[코딩테스트 Lv.0] 특정한 문자를 대문자로 바꾸기 (0) | 2025.02.19 |
[코딩테스트 Lv.0] 문자열이 몇 번 등장하는지 세기 (0) | 2025.02.17 |
[코딩테스트 Lv.0] ad 제거하기 (0) | 2025.02.17 |
[코딩테스트 Lv.0] 공백으로 구분하기 2 (0) | 2025.02.17 |