프로그래머스 > 코딩테스트 연습 > 코딩 기초 트레이닝 > 공백으로 구분하기2
https://school.programmers.co.kr/learn/courses/30/lessons/181868
📒 문제
단어가 공백 한 개 이상으로 구분되어 있는 문자열 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 합니다.
💻 소스코드
using System;
using System.Linq;
public class Solution {
public string[] solution(string my_string) {
return my_string.Split(' ').Where(w => w.Trim() != "").ToArray();
}
}
다른 풀이
using System;
using System.Linq;
public class Solution {
public string[] solution(string my_string) {
return my_string.Split(" ", StringSplitOptions.RemoveEmptyEntries);
}
}
※ 참고 사이트
StringSplitOptions : https://learn.microsoft.com/ko-kr/dotnet/api/system.stringsplitoptions?view=net-8.0
📝 풀이
첫번째 풀이는 string을 ' '기준으로 split을 시켜 배열로 담은 다음 where 메서드를 사용해서 각 문자열을 trim 했을 때 빈 문자열이 아닌 경우만 array로 만들었다.
두번째 풀이는 split 메서드 옵션에서 빈 문자열인 경우를 제거해주는 옵션을 발견해서 적용해 보았다.
split 메서드를 사용할 때 StringSplitOptions.RemoveEmptyEntries를 하면 빈 문자열을 제거해줘서 원하는 결과를 얻을 수 있었다.
관련 포스팅
'코딩 테스트 (C#) > 프로그래머스 (기초)' 카테고리의 다른 글
[C#][프로그래머스 > 코딩테스트 기초] 배열 만들기 6 (0) | 2024.08.01 |
---|---|
[C#][프로그래머스 > 코딩테스트 기초] 배열의 원소만큼 추가하기 (0) | 2024.08.01 |
[C#][프로그래머스 > 코딩테스트 기초] 조건에 맞게 수열 변환하기 1 (0) | 2024.07.30 |
[C#][프로그래머스 > 코딩테스트 기초] 길이에 따른 연산 (0) | 2024.07.30 |
[C#][프로그래머스 > 코딩테스트 기초] 문자열의 뒤의 n글자 (1) | 2024.07.24 |