"깊이"가 다른 게임개발자 허민영

유저에서 게임까지, 철학에서 코딩까지, 본질을 보는 게임개발

코딩테스트

lv0-10. 문자열

허민영 2025. 1. 16. 15:04

문제1.

문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string의 앞의 n글자로 이루어진 문자열을 return 하는 solution 함수를 작성해 주세요.

using System;

public class Solution 
{
    public string solution(string my_string, int n) 
    {
        return my_string.Substring(0,n);
    }
}

 

문제2.

어떤 문자열에 대해서 접두사는 특정 인덱스까지의 문자열을 의미합니다. 예를 들어, "banana"의 모든 접두사는 "b", "ba", "ban", "bana", "banan", "banana"입니다.
문자열 my_string is_prefix가 주어질 때, is_prefix my_string의 접두사라면 1을, 아니면 0을 return 하는 solution 함수를 작성해 주세요.

using System;

public class Solution
{
    public int solution(string my_string, string is_prefix) 
    {
        return my_string.StartsWith(is_prefix)? 1:0;
    }
}

 

문제3.

문자열 my_string과 정수 s, e가 매개변수로 주어질 때, my_string에서 인덱스 s부터 인덱스 e까지를 뒤집은 문자열을 return 하는 solution 함수를 작성해 주세요.

using System;

public class Solution 
{
    public string solution(string my_string, int s, int e) 
    {
        char[] aMy_string = my_string.ToCharArray();
        
        //Array.Reverse(chr,s,e-s+1);
        //return new string(chr);

        for(int i =  s; i<e; i++)
        {
            char temp = aMy_string[i];
            aMy_string[i]=aMy_string[e];
            aMy_string[e]=temp;
            e--;
        }
        return String.Concat(aMy_string);
    }
}

보완점. Array.Reverse() 활용가능, new sting(char[]) 활용가능

 

문제4.

문자열 my_string과 두 정수 m, c가 주어집니다. my_string을 한 줄에 m 글자씩 가로로 적었을 때 왼쪽부터 세로로 c번째 열에 적힌 글자들을 문자열로 return 하는 solution 함수를 작성해 주세요.

using System;
using System.Collections.Generic;

public class Solution
{
    public string solution(string my_string, int m, int c)
    {
        List<char> answer = new List<char>();
        for (int i = 0; i < my_string.Length; i++)
        {
            if (i % m == c-1) answer.Add(my_string[i]);
        }
        return String.Concat(answer);
    }
}

보완점. StringBuilder활용가능

 

문제5.

두 정수 q, r과 문자열 code가 주어질 때, code의 각 인덱스를 q로 나누었을 때 나머지가 r인 위치의 문자를 앞에서부터 순서대로 이어 붙인 문자열을 return 하는 solution 함수를 작성해 주세요.

using System;
using System.Text;

public class Solution
{
    public string solution(int q, int r, string code)
    {
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i< code.Length;i++)
        {
            if(i%q==r) sb.Append(code[i]);
        }
        return sb.ToString() ;
    }
}

'코딩테스트' 카테고리의 다른 글

Lv0-11. 리스트(배열)  (1) 2025.01.17
Lv0-9. 문자열  (0) 2025.01.16
Lv0-8. 조건문, 문자열  (1) 2025.01.15
Lv0-7. 반복문  (0) 2025.01.13
Lv0-6. 조건문, 반복문  (2) 2025.01.13