프로그래머스 > 코딩테스트 연습 > 코딩 기초 트레이닝 > 문자 리스트를 문자열로 변환하기
https://school.programmers.co.kr/learn/courses/30/lessons/181941
📒 문제
문자들이 담겨있는 배열 arr가 주어집니다. arr의 원소들을 순서대로 이어 붙인 문자열을 return 하는 solution함수를 작성해 주세요.
제한사항
- 1 ≤ arr의 길이 ≤ 200
- arr의 원소는 전부 알파벳 소문자로 이루어진 길이가 1인 문자열입니다.
입출력 예
arr | result |
["a","b","c"] | "abc" |
💻 소스코드
using System;
public class Solution {
public string solution(string[] arr) {
string answer = "";
foreach(string s in arr) answer += s;
return answer;
}
}
다른 풀이
using System;
public class Solution {
public string solution(string[] arr) {
return String.Concat(arr);
}
}
using System;
public class Solution {
public string solution(string[] arr) {
return String.Join("", arr);
}
}
※ 참고 사이트
Concat, Join : https://learn.microsoft.com/ko-kr/dotnet/csharp/how-to/concatenate-multiple-strings
📝 풀이
첫번째 풀이는 내가 직접 푼 방식으로 배열을 foreach문을 돌면서 answer에 하나씩 더해주는 방법이다.
이런 방식을 할 경우에 실제로는 단순히 += 하는 것 보단 stringbuiler를 사용하는 것이 메모리 차원에서 좋은 방식 일 것 같다.
다른 풀이 두가지는 더 좋은 풀이를 찾다 발견한 방법이다.
string 메서드 중 Join과 Concat을 사용한 방법인데, Join은 문자를 이어줄때 위 방식처럼 하면 Concat과 같은 결과가 나오지만
String.Join(" ", arr) // a b c
String.Join(", " arr) // a, b, c
이렇게 문자 사이에 다른 문자를 넣어줄때 사용하면 좋은 메서드 이다.
Concat은 단순히 문자들을 붙여줄때 사용하면 좋은 방식이다.
관련 내용
'코딩 테스트 (C#) > 프로그래머스 (기초)' 카테고리의 다른 글
[C#][프로그래머스 > 코딩테스트 기초] 조건에 맞게 수열 변환하기 1 (0) | 2024.07.30 |
---|---|
[C#][프로그래머스 > 코딩테스트 기초] 길이에 따른 연산 (0) | 2024.07.30 |
[C#][프로그래머스 > 코딩테스트 기초] 문자열의 뒤의 n글자 (1) | 2024.07.24 |
[C#][프로그래머스 > 코딩테스트 기초] 더 크게 합치기 (1) | 2024.07.23 |
[C#][프로그래머스 > 코딩테스트 기초] 배열 만들기2 (3) | 2024.07.23 |