Notice
Recent Posts
Recent Comments
Link
«   2026/04   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

unihee1의 블로그

[TIL] 프로그래머스 _ 수박수박수박수박수박수? 본문

C#

[TIL] 프로그래머스 _ 수박수박수박수박수박수?

unihee1 2025. 11. 5. 21:54

1. 문제

길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.

 

2. 코드작성

using System;
using System.Text;

public class Solution
{
    public string solution(int n)
    {
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < n; i++)
        {
            if (i % 2 == 0)
                sb.Append("수");
            else
                sb.Append("박");
        }
        return sb.ToString();
    }
}
  • for문으로 0~n까지 반복
  • if문으로 짝수면 "수" 홀수면 "박"을 삽입

3. StringBuilder란?

문자열을 효율적으로 더하거나 수정할 수 있게 해주는 클래스로 빠르고 메모리 효율이 좋음

따라서 반복문 안에서 문자열을 여러 번 더해야 할 때는 stringBuilder가 필수

 

※ 일반 string과의 차이

- 일반 문자열 string

  • C# 내부에서 문자를 더할 때마다 새로운 문자열을 계속 생성하기 때문에 반복이 많아지면 메모리 낭비와 속도 저하가 심해짐
  • 한 번 만들어진 문자열은 변경이 불가능 함

- StringBuilder

  • 내부 버퍼에 문자를 추가만 하고 마지막에  .ToString()으로 한 번에 문자열을 만들어 줌