반응형
97. 배열의 원소 삭제하기
문제 설명
- 정수 배열 arr과 delete_list가 있습니다. arr의 원소 중 delete_list의 원소를 모두 삭제하고 남은 원소들은 기존의 arr에 있던 순서를 유지한 배열을 return 하는 solution 함수를 작성해 주세요.
제한사항
- 1 ≤ arr의 길이 ≤ 100
- 1 ≤ arr의 원소 ≤ 1,000
- arr의 원소는 모두 서로 다릅니다.
- 1 ≤ delete_list의 길이 ≤ 100
- 1 ≤ delete_list의 원소 ≤ 1,000
- delete_list의 원소는 모두 서로 다릅니다.
입출력 예시
- 예제 1번의 arr의 원소 중 1000과 94가 delete_list에 있으므로 이 두 원소를 삭제한 [293, 395, 678]을 return 합니다.
- 예제 2번의 arr의 원소 중 delete_list에 있는 원소는 없습니다. 따라서 arr 그대로인 [110, 66, 439, 785, 1]을 return 합니다.
풀이
using System;
using System.Collections.Generic;
public class Solution {
public int[] solution(int[] arr, int[] delete_list) {
// 새로운 빈 리스트 선언
List<int> result = new List<int>();
// foreach 반복문을 사용해 모든 arr의 요소를 result 리스트에 추가
foreach(int number in arr){
result.Add(number);
// for 반복문 이용, delete_list의 요소가 result에 있다면 삭제
for(int i = 0; i < delete_list.Length; i++){
result.Remove(delete_list[i]);
}
}
return result.ToArray(); // 리스트를 배열로 변환 후 반환
}
}
98. 뒤에서 5등까지
문제 설명
- 정수로 이루어진 리스트 num_list가 주어집니다. num_list에서 가장 작은 5개의 수를 오름차순으로 담은 리스트를 return하도록 solution 함수를 완성해주세요.
제한사항
- 6 ≤ num_list의 길이 ≤ 30
- 1 ≤ num_list의 원소 ≤ 100
입출력 예시
- [12, 4, 15, 46, 38, 1, 14]를 정렬하면 [1, 4, 12, 14, 15, 38, 46]이 되고, 앞에서 부터 5개를 고르면 [1, 4, 12, 14, 15]가 됩니다.
풀이
using System;
using System.Collections.Generic;
public class Solution {
public int[] solution(int[] num_list) {
// 새로운 빈 리스트 선언
List<int> result = new List<int>();
// num_list 오름차순 정렬
Array.Sort(num_list);
// 가장 작은 수 5개를 result 리스트에 추가
for(int i = 0; i < 5; i++){
result.Add(num_list[i]);
}
return result.ToArray(); // 리스트를 배열로 변환 후 반환
}
}
99. 0 떼기
문제 설명
- 정수로 이루어진 문자열 n_str이 주어질 때, n_str의 가장 왼쪽에 처음으로 등장하는 0들을 뗀 문자열을 return하도록 solution 함수를 완성해주세요.
제한사항
- 2 ≤ n_str ≤ 10 n_str이 "0"으로만 이루어진 경우는 없습니다.
입출력 예시
- "0010"의 가장 왼쪽에 연속으로 등장하는 "0"을 모두 제거하면 "10"이 됩니다.
- "854020"는 가장 왼쪽에 0이 없으므로 "854020"을 return합니다.
풀이
using System;
public class Solution {
public string solution(string n_str) {
// 0이 아닌 첫번째 인덱스를 찾기위한 변수 선언
int notZero = 0;
// while 반복문, notZero가 n_str의 길이보다 작거나,
// n_str의 해당 인덱스가 0이면 notZero++
while(notZero < n_str.Length && n_str[notZero] == '0'){
notZero++;
}
// n_str 문자열에서 처음으로 0이 아닌 수부터 끝까지 반환
return n_str.Substring(notZero);
}
}
- 정답률 높은 순부터 풀이
- 매일 3문항 풀이
반응형
'프로그래머스 C# 코딩테스트' 카테고리의 다른 글
C# 프로그래머스 - 홀짝 구분하기, n의 배수 고르기, 대문자와 소문자 (70) | 2023.10.01 |
---|---|
C# 프로그래머스 #31 - 더 크게 합치기, 홀수 vs 짝수, 세균 증식 (71) | 2023.09.20 |
C# 프로그래머스 #30 - 할 일 목록, 제곱수 판별하기, 접미사인지 확인하기 (71) | 2023.09.19 |
C# 프로그래머스 #29 - A 강조하기, 꼬리 문자열, 홀짝에 따라 다른 값 반환하기 (62) | 2023.09.11 |
C# 프로그래머스 #28 - l로 만들기, 배열 비교하기, 순서 바꾸기 (61) | 2023.09.09 |