본문 바로가기
프로그래머스 코딩테스트 연습

[프로그래머스 코테 C#] Lv0. 문자열 뒤집기

by 노재두내 2024. 2. 26.

뭔가 함수가 있을거같은데 .. 

또 read only오류 이거 .. 맨날 나는데 assign을 그러면 어캐 해야하는건지.. 찾아봐야할거같다

 

 

 

아악 근데 answer이라는 변수? 가 ㅇㅆ으니가 그냥 여기에다가 넣으면 되겠다 싶음

int length=my_string.Length;
for(int i=0;i<length;i++)
        {
            answer[i]=my_string[length-i];
        }

근데 이렇게 하면 또 read only 발생할거같긴한데 일단 실행

 

역시나 할당할 수 없다고 뜬다.

 

구글링 찬스~.~

나처럼 생각한 사람이 있다

 

답변을 보니 stringbuilder를 쓰라고 한다

 

 

 

public class Solution {
    public string solution(string my_string) {
        string answer = "";
        int length=my_string.Length;
        
        for(int i=0;i<length;i++)
        {
            StringBuilder sb = new StringBuilder(answer);
            sb[i] = my_string[length-i];
            answer = sb.ToString();
        }
        return answer;
    }
}

오류 겁나 많이남 

 

using System;
using System.Text;

public class Solution {
    public string solution(string my_string) {
        string answer = "";
        
        for(int i=my_string.Length-1;i>=0;i--)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append(my_string[i]);
            answer = sb.ToString();
        }
        return answer;
    }
}

sb[i] = my_string[length-i];

stringbuilder는 이렇게 쓰면 안되고 Append를 써야됨

참고로 using System.Text;

for(int i=my_string.Length-1;i>=0;i--)
        {
            StringBuilder sb = new StringBuilder(answer);
            sb.Append(my_string[i]);
            answer = sb.ToString();
        }
        return answer;

오 됐땅

StringBuilder sb = new StringBuilder();  =>  StringBuilder sb = new StringBuilder(answer);

 

이렇게써야된당

 

 

다른 사람 풀이

using System;
using System.Linq;

public class Solution
{
    public string solution(string my_string)
    {
        return new string(my_string.Reverse().ToArray());
    }
}

 

using System;

public class Solution {
    public string solution(string my_string) {
        var charArray = my_string.ToCharArray();
        Array.Reverse(charArray);
        return new string(charArray);
    }
}
using System;

public class Solution {
    public string solution(string my_string) {
        string answer = "";
        for(int i = my_string.Length-1;i>=0;i--)
            answer += my_string[i];
        return answer;
    }
}