728x90
문제 설명
문자열 my_string과 정수 k가 주어질 때, my_string을 k번 반복한 문자열을 return 하는 solution 함수를 작성해 주세요.
제한사항
- 1 ≤ my_string의 길이 ≤ 100
- my_string은 영소문자로만 이루어져 있습니다.
- 1 ≤ k ≤ 100
입출력 예 설명
입출력 예 #1
- 예제 1번의 my_string은 "string"이고 이를 3번 반복한 문자열은 "stringstringstring"이므로 이를 return 합니다.
입출력 예 #2
- 예제 2번의 my_string은 "love"이고 이를 10번 반복한 문자열은 "lovelovelovelovelovelovelovelovelovelove"이므로 이를 return 합니다.
풀이
: for()문을 활용하여 구해주기!
using System;
public class Solution {
public string solution(string my_string, int k) {
string answer = "";
for(int i =0;i<k;i++)
{
answer += my_string;
}
return answer;
}
}
==> 반복할 횟수인 k만큼 for문을 돌리고, 그 안에서 문자열을 더해주는 식으로 풀어보았다.
++) 다른 사람 풀이
: StringBuilder.Append() 사용
public class Solution {
public string solution(string my_string, int k)
{
var sb = new StringBuilder();
for(int i = 0; i < k; ++i)
sb.Append(my_string);
return sb.ToString();
}
}
▶ StringBuilder는 문자열을 생성을 도와주는 클래스로 Append 함수를 이용해서 문자열을 이어붙일 수 있음.
▶ + 연산과 다른점은 문자열을 조합할 때 새로운 string 객체를 생성하지 않아 메모리 누수가 되지 않음.
출처: https://blog.spiralmoon.dev/entry/C-string-string-과-StringBuilderAppend-차이 [Spiral Moon's programming blog:티스토리]
'공부 > 코딩테스트' 카테고리의 다른 글
프로그래머스/C# - 원하는 문자열 찾기 (0) | 2024.03.27 |
---|---|
프로그래머스/C# - 문자 리스트를 문자열로 변환하기 (0) | 2024.03.11 |
프로그래머스/C# - 문자열 정수로 변환하기 (0) | 2024.03.11 |
프로그래머스/C# - 문자열안에 문자열 (0) | 2024.02.26 |
프로그래머스/C# - 문자열 뒤집기 (0) | 2024.02.26 |