반응형
🔍 문제 요약
https://school.programmers.co.kr/learn/courses/30/lessons/12930
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
s라는 문자열에 단어와 1개 이상의 공백으로 주어질 때 단어들의 홀수번째는 소문자로, 짝수번째는 대문자로 바꾸는 문제
🧠 나의 접근 방식과 시행착오
9분 정도 걸린 문제. 빠르게 구현을 해보고 Array.ConvertAll로 혹시 가능할까도 해봤는데 단어마다의 처리가 달라져야 하므로 s의 각 char를 돌면서 stringBuilder를 써서 간편히 해결했다.
using System;
using System.Text;
public class Solution
{
/// <summary>
/// 이상한 문자 만들기
/// https://school.programmers.co.kr/learn/courses/30/lessons/12930
/// </summary>
public string solution(string s)
{
// s에는 단어와 단어 사이에 하나 이상의 공백으로 이루어져 있음
// 각 단어에 홀수번째는 소문자, 짝수번째는 대문자로 해서 변경시키기
int wordIndex = 0;
var stringBuilder = new StringBuilder();
for (int i = 0; i < s.Length; i++)
{
char c = s[i];
if (c == ' ')
{
stringBuilder.Append(' ');
wordIndex = 0;
continue;
}
wordIndex++;
stringBuilder.Append(wordIndex % 2 == 0 ? char.ToLower(c) : char.ToUpper(c));
}
return stringBuilder.ToString();
}
}
/// <summary>
/// C# 7.3
/// </summary>
internal class Program
{
public static void Main(string[] args)
{
var sl = new Solution();
var s = "try hello world";
Console.WriteLine(sl.solution(s));
}
}
✅ 풀이 코드
크게 피드백이 있지 않았던 문제로 이번 건 따로 적지 않았다.
🔄 정리
뭔가 좀 더 빠르거나 효율이 좋은 방법도 있을 것 같기도 한 문제?
반응형
'Coding Test > Programmers' 카테고리의 다른 글
[Lv.1] 문자열 다루기 기본 [프로그래머스_코딩테스트] [문자열, 조건문] [20분] (0) | 2025.06.13 |
---|---|
[Lv.1] 문자열 내 마음대로 정렬하기 [프로그래머스_코딩테스트] [문자열] [25분] (1) | 2025.06.13 |
[Lv.1] 개인정보 수집 유효기간 [프로그래머스_코딩테스트] [문자열, 날짜 처리] [2023 KAKAO BLIND RECRUITMENT][30분] (0) | 2025.06.12 |
[Lv.1] 서울에서 김서방 찾기 [프로그래머스_코딩테스트] [문자열, 구현] [10분] (0) | 2025.06.11 |
[Lv.2] 가장 큰 수 [프로그래머스_코딩테스트] [정렬, 문자열] [35분] (0) | 2025.06.11 |