반응형
70. 마지막 두 원소
문제 설명
- 정수 리스트 num_list가 주어질 때, 마지막 원소가 그전 원소보다 크면 마지막 원소에서 그전 원소를 뺀 값을 마지막 원소가 그전 원소보다 크지 않다면 마지막 원소를 두 배한 값을 추가하여 return하도록 solution 함수를 완성해주세요.
제한사항
- 2 ≤ num_list의 길이 ≤ 10
- 1 ≤ num_list의 원소 ≤ 9
입출력 예시
- 마지막 원소인 6이 그전 원소인 1보다 크기 때문에 6 - 1인 5를 추가해 return합니다.
- 마지막 원소인 5가 그전 원소인 7보다 크지 않기 때문에 5의 두 배인 10을 추가해 return합니다.
풀이
using System;
using System.Collections.Generic;
public class Solution {
public int[] solution(int[] num_list) {
List<int> result = new List<int>();
int leng = num_list.Length - 1;
foreach(int num in num_list){
result.Add(num);
}
if(result[leng] > result[leng - 1]){
result.Add(result[leng] - result[leng - 1]);
} else {
result.Add(result[leng] * 2);
}
return result.ToArray();
}
}
// 리스트 result 선언
// num_list의 길이인 leng 선언, -1의 이유는 인덱스는 0부터 세기 때문.
// 리시트 result에 foreach반복문을 이용하여 num_list의 모든 요소 추가
// 만약 result의 마지막 요소가 그 전 요소보다 크다면, 리스트에 마지막요소 - 그전요소 값 추가
// 그렇지 않다면, 리스트에 마지막요소 * 2 추가
// 리스트 result를 ToArray() 메서드를 통해 배열로 반환
71. 뒤에서 5등 위로
문제 설명
- 정수로 이루어진 리스트 num_list가 주어집니다. num_list에서 가장 작은 5개의 수를 제외한 수들을 오름차순으로 담은 리스트를 return하도록 solution 함수를 완성해주세요.
제한사항
- 6 ≤ num_list의 길이 ≤ 30
- 1 ≤ num_list의 원소 ≤ 100
입출력 예시
- [12, 4, 15, 46, 38, 1, 14, 56, 32, 10]를 정렬하면 [1, 4, 10, 12, 14, 15, 32, 38, 46, 56]이 되고, 앞에서 부터 6번째 이후의 수들을 고르면 [15, 32, 38, 46, 56]가 됩니다.
풀이
using System;
using System.Collections.Generic;
public class Solution {
public int[] solution(int[] num_list) {
List<int> result = new List<int>();
Array.Sort(num_list);
for(int i = 5; i < num_list.Length; i++ ){
result.Add(num_list[i]);
}
return result.ToArray();
}
}
// 리스트 result 선언
// num_list 오름차순 정렬
// num_list에서 가장 작은 5개의 수를 제외한 나머지의 수 result에 추가
// result를 ToArray() 메서드를 사용해 배열로 변환하여 반환
72. 문자열 곱하기
문제 설명
- 문자열 my_string과 정수 k가 주어질 때, my_string을 k번 반복한 문자열을 return 하는 solution 함수를 작성해 주세요.
제한사항
- 1 ≤ my_string의 길이 ≤ 100
- my_string은 영소문자로만 이루어져 있습니다.
- 1 ≤ k ≤ 100
입출력 예시
- 예제 1번의 my_string은 "string"이고 이를 3번 반복한 문자열은 "stringstringstring"이므로 이를 return 합니다.
- 예제 2번의 my_string은 "love"이고 이를 10번 반복한 문자열은 "lovelovelovelovelovelovelovelovelovelove"이므로 이를 return 합니다.
풀이
using System;
public class Solution {
public string solution(string my_string, int k) {
string result = "";
for(int i = 0; i < k; i++){
result += my_string;
}
return result;
}
}
// 빈 문자열 result 선언
// for 반복문을 통해 my_string을 k번 더해줌.
- 정답률 높은 순부터 풀이
- 매일 3 문항 풀이
반응형
'프로그래머스 C# 코딩테스트' 카테고리의 다른 글
Lv0 C# 프로그래머스 #25 - n보다 커질 때까지 더하기, 공백으로 구분하기 2, 문자열 바꿔서 찾기 (64) | 2023.09.05 |
---|---|
Lv0 C# 프로그래머스 #24 - 배열 만들기 1, 주사위 게임 1, rny_string (52) | 2023.09.04 |
Lv0 C# 프로그래머스 #22 - 배열의 길이에 따라 다른 연산하기, 공백으로 구분하기 1, 원소들의 곱과 합 (52) | 2023.08.31 |
Lv0 C# 프로그래머스 #21 - n 번째 원소까지, n개 간격의 원소들, 대문자로 바꾸기 (45) | 2023.08.30 |
Lv0 C# 프로그래머스 #20 - n의 배수, n 번째 원소부터, 카운트 업 (51) | 2023.08.29 |