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

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

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

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

제한사항
my_string은 영소문자와 공백으로만 이루어져 있습니다.
1 ≤ my_string의 길이 ≤ 1,000
my_string의 맨 앞과 맨 뒤에도 공백이 있을 수 있습니다.
my_string에는 단어가 하나 이상 존재합니다.
입출력 예
my_string		result
" i    love  you"	["i", "love", "you"]
"    programmers  "	["programmers"]
입출력 설명
입출력 예 #1
예제 1번의 my_string은 " i    love  you"로 공백을 기준으로 단어를 나누면 "i", "love", "you" 3개의 단어가 있습니다. 따라서 ["i", "love", "you"]를 return 합니다.

입출력 예 #2
예제 2번의 my_string은 "    programmers  "로 단어는 "programmers" 하나만 있습니다. 따라서 ["programmers"]를 return 합니다.

내 풀이
Java
import java.util.*;
class Solution {
    public String[] solution(String my_string) {
        String[] answer = {};
        
        my_string = my_string.trim();        
        String[] arr = my_string.split(" ");
        List<String> list = new ArrayList<>();
        for(String s : arr){
            if(!s.equals("")){
                list.add(s);
            }
        }
        
        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>

// 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.
char** solution(const char* my_string) {
    // return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
    char** answer = (char**)malloc(sizeof(char*) * 1000);
    
    char* ptr = strtok(my_string, " ");
    int k = 0;
    while(ptr != NULL){
        answer[k++] = ptr;
        ptr = strtok(NULL, " ");
    }

    return answer;
}
Python
def solution(my_string):
    answer = []
    
    list = my_string.split(" ")
    
    for i in list:
        if i != '':
            answer.append(i)
    
    return answer

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

 

프로그래머스

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

programmers.co.kr

 

 

 

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

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

bluedayj.tistory.com

 

 

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

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

bluedayj.tistory.com

 

 

[코딩테스트 Lv.0] 문자열 잘라서 정렬하기

문제 설명문자열 myString이 주어집니다. "x"를 기준으로 해당 문자열을 잘라내 배열을 만든 후 사전순으로 정렬한 배열을 return 하는 solution 함수를 완성해 주세요.단, 빈 문자열은 

bluedayj.tistory.com

 

728x90
반응형