unihee1의 블로그
[TIL] 프로그래머스 _ 수박수박수박수박수박수? 본문
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()으로 한 번에 문자열을 만들어 줌
'C#' 카테고리의 다른 글
| [TIL] C# 프로그래머스 _ 알고리즘(완전 탐색) 문제 (0) | 2025.09.11 |
|---|---|
| [TIL] C# 프로그래머스 _ 알고리즘(정렬) 문제 (0) | 2025.09.09 |
| [TIL] C# 프로그래머스 _ 알고리즘(큐) 문제 (0) | 2025.09.04 |
| [TIL] C# 프로그래머스 _ 알고리즘(해시) 문제 (0) | 2025.09.03 |
| [TIL] C# 정렬 알고리즘 (0) | 2025.08.12 |