본문 바로가기
코딩 테스트/프로그래머스 (기초)

[C#][프로그래머스 >코딩테스트 기초] 문자 리스트를 문자열로 변환하기

by 스누ㅍl 2024. 7. 22.

프로그래머스 > 코딩테스트 연습 > 코딩 기초 트레이닝 > 문자 리스트를 문자열로 변환하기 

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# 문법] string 메서드 모음

string 메서드 내용 중 새로 알게되거나 사용했던 메서드들 기록하는 곳입니다. 주요 메서드Substring([시작위치], [문자열길이]): string의 시작위치부터 문자열 길이만큼 추출해준다.string str = "Hello W

twd0622.tistory.com