2023년 1월 1일
08:00 AM
Buffering ...

최근 글 👑

C# 프로그래머스 #26 - 부분 문자열 이어 붙여 문자열 만들기, 문자열 붙여서 출력하기, 배열의 원소만큼 추가하기

2023. 9. 6. 17:32ㆍ프로그래머스 C# 코딩테스트
반응형

79. 부분 문자열 이어 붙여 문자열 만들기

 

문제 설명

  • 길이가 같은 문자열 배열 my_strings와 이차원 정수 배열 parts가 매개변수로 주어집니다. parts[i]는 [s, e] 형태로, my_string[i]의 인덱스 s부터 인덱스 e까지의 부분 문자열을 의미합니다. 각 my_strings의 원소의 parts에 해당하는 부분 문자열을 순서대로 이어 붙인 문자열을 return 하는 solution 함수를 작성해 주세요.

제한사항

  • 1 ≤ my_strings의 길이 = parts의 길이 ≤ 100
  • 1 ≤ my_strings의 원소의 길이 ≤ 100
  • parts[i]를 [s, e]라 할 때, 다음을 만족합니다.
  • 0 ≤ s ≤ e < my_strings[i]의 길이

입출력 예시

  • 예제 1번의 입력을 보기 좋게 표로 나타내면 다음과 같습니다.

  • 각 부분 문자열을 순서대로 이어 붙인 문자열은 "programmers"입니다. 따라서 "programmers"를 return 합니다.

풀이

using System;

public class Solution {
    public string solution(string[] my_strings, int[,] parts) {
        string result = "";
        for(int i = 0; i < my_strings.Length; i++){
            int start = parts[i, 0];
            int end = parts[i, 1];
            string part = my_strings[i].Substring(start, end - start + 1);
            result += part;
        }
        return result;
    }
}

// 문자열을 합칠 변수 result 선언
// for 반복문, i는 0부터 my_strings의 길이까지, my_strings의 길이는 parts와 같다.
// start 변수에는 parts의 i번째의 첫 번째 값 -> parts[i]는 [s,e], 즉 s
// end 변수에는 parts의 i번째의 두 번째 값 -> 즉, e
// part 변수에 my_string의 [i]번째 문자열을 Substring메서드를 이용, s~e까지의 문자를 추출해 추가한다.

 

80. 문자열 붙여서 출력하기

 

문제 설명 

  • 두 개의 문자열 str1, str2가 공백으로 구분되어 입력으로 주어집니다. 입출력 예와 같이 str1과 str2을 이어서 출력하는 코드를 작성해 보세요.

제한사항 

  • 1 ≤ str1, str2의 길이 ≤ 10

입출력 예시 

 

풀이

using System;

public class Example
{
    public static void Main()
    {
        String[] input;

        Console.Clear();
        input = Console.ReadLine().Split(' ');

        String s1 = input[0];
        String s2 = input[1];
        
        String result = "";
        for(int i = 0; i < input.Length; i++){
            result += input[i];
        }
        Console.WriteLine(result);
    }
}

// 사용자가 입력한 값은 공백을 기준이로 input배열에 저장된다.
// result 문자열 변수에 for 반복문을 사용해 input 배열값을 합쳐준다.

 

81. 배열의 원소만큼 추가하기

 

문제 설명

  • 아무 원소도 들어있지 않은 빈 배열 X가 있습니다. 양의 정수 배열 arr가 매개변수로 주어질 때, arr의 앞에서부터 차례대로 원소를 보면서 원소가 a라면 X의 맨 뒤에 a를 a번 추가하는 일을 반복한 뒤의 배열 X를 return 하는 solution 함수를 작성해 주세요.

제한사항

  • 1 ≤ arr의 길이 ≤ 100 
  • 1 ≤ arr의 원소 ≤ 100

입출력 예시

 

 

  • 예제 1번에 대해서 a와 X를 나타내보면 다음 표와 같습니다.

 

  • 따라서 [5, 5, 5, 5, 5, 1, 4, 4, 4, 4]를 return 합니다.
  • 예제 2번에 대해서 a와 X를 나타내보면 다음 표와 같습니다.

 

  • 따라서 [6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6]를 return 합니다.
  • 예제 2번에 대해서 a와 X를 나타내보면 다음 표와 같습니다.

 

  • 따라서 [1]을 return 합니다.

풀이

using System;
using System.Collections.Generic;

public class Solution {
    public int[] solution(int[] arr) {
        List<int> result = new List<int>();
        for(int i = 0; i < arr.Length; i++){
            for(int j = 0; j < arr[i]; j++){
                result.Add(arr[i]);
            }
        }
        return result.ToArray();
    }
}

// 빈 리스트 result 선언
// i는 arr의 요소 개수만큼 반복
// j는 arr[i]의 값만큼 반복
// arr[i]의 값을 arr[i]번 result에 추가
// 리스트 result를 배열로 변환 후 반환

 

  • 정답률 높은 순부터 풀이
  • 매일 3문항 풀이
반응형