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

[코딩테스트 Lv.0] ad 제거하기

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

문자열 배열 strArr가 주어집니다. 배열 내의 문자열 중 "ad"라는 부분 문자열을 포함하고 있는 모든 문자열을 제거하고 남은 문자열을 순서를 유지하여 배열로 return 하는 solution 함수를 완성해 주세요.

제한사항
● 1 ≤ strArr의 길이 ≤ 1,000
  ○ 1 ≤ strArr의 원소의 길이 ≤ 20
  ○ strArr의 원소는 알파벳 소문자로 이루어진 문자열입니다.
입출력 예
strArr				result
["and","notad","abcd"]		["and","abcd"]
["there","are","no","a","ds"]	["there","are","no","a","ds"]
입출력 설명
입출력 예 #1
1번 인덱스의 문자열인 "notad"는 부분 문자열로 "ad"를 가집니다. 따라서 해당 문자열을 제거하고 나머지는 순서를 유지하여 ["and","abcd"]를 return 합니다.

입출력 예 #2
"ad"가 부분 문자열로 들어간 문자열이 존재하지 않습니다. 따라서 원래 배열을 그대로 return 합니다.

내 풀이
Java
import java.util.*;
class Solution {
    public String[] solution(String[] strArr) {
        String[] answer = {};
        
        List<String> list = new ArrayList<>();
        for(int i = 0; i < strArr.length; i++){
            if(!strArr[i].contains("ad")){
                list.add(strArr[i]);
            }
        }
        answer = new String[list.size()];
        for(int i = 0; i < list.size(); i++){
            answer[i] = list.get(i);
        }
        
        return answer;
    }
}
C
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

// strArr_len은 배열 strArr의 길이입니다.
// 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.
char** solution(const char* strArr[], size_t strArr_len) {
    // return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
    char** answer = (char**)malloc(sizeof(char*) * strArr_len);
    int i = 0;
    int k = 0;
    for(i = 0; i < strArr_len; i++){
        answer[i] = (char*)malloc(strlen(strArr[i]));
        if(strstr(strArr[i], "ad") == NULL){
            answer[k++] = strArr[i];
        }
    }
    answer[k] = NULL;
    
    return answer;
}
Python
def solution(strArr):
    answer = []
    
    for i in strArr:
        if 'ad' not in i:
            answer.append(i)
    
    return answer

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

 

프로그래머스

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

programmers.co.kr

 

 

[코딩테스트 Lv.0] 공백으로 구분하기 2

문제 설명단어가 공백 한 개 이상으로 구분되어 있는 문자열 my_string이 매개변수로 주어질 때, my_string에 나온 단어를 앞에서부터 순서대로 담은 문자열 배열을 return 하는 solution

bluedayj.tistory.com

 

 

[코딩테스트 Lv.0] 공백으로 구분하기 1

문제 설명단어가 공백 한 개로 구분되어 있는 문자열 my_string이 매개변수로 주어질 때, my_string에 나온 단어를 앞에서부터 순서대로 담은 문자열 배열을 return 하는 solution 함수를

bluedayj.tistory.com

 

 

[코딩테스트 Lv.0] x 사이의 개수

문제 설명문자열 myString이 주어집니다. myString을 문자 "x"를 기준으로 나눴을 때 나눠진 문자열 각각의 길이를 순서대로 저장한 배열을 return 하는 solution 함수를 완성해 주세요.제

bluedayj.tistory.com

 

 

728x90
반응형