반응형
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문항 풀이
반응형
'프로그래머스 C# 코딩테스트' 카테고리의 다른 글
C# 프로그래머스 #28 - l로 만들기, 배열 비교하기, 순서 바꾸기 (61) | 2023.09.09 |
---|---|
C# 프로그래머스 #27 - 소문자로 바꾸기, 5명씩, 배열에서 문자열 대소문자 변환하기 (57) | 2023.09.07 |
Lv0 C# 프로그래머스 #25 - n보다 커질 때까지 더하기, 공백으로 구분하기 2, 문자열 바꿔서 찾기 (64) | 2023.09.05 |
Lv0 C# 프로그래머스 #24 - 배열 만들기 1, 주사위 게임 1, rny_string (52) | 2023.09.04 |
Lv0 C# 프로그래머스 #23 - 마지막 두 원소, 뒤에서 5등 위로, 문자열 곱하기 (52) | 2023.09.01 |