[C#]두 개 뽑아서 더하기(List,Array 정렬)
2021. 2. 5. 22:31ㆍ[C#] 코딩테스트 문제풀이
반응형
프로그래머스 문제
문제 설명
정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요.
제한사항
- numbers의 길이는 2 이상 100 이하입니다.
- numbers의 모든 수는 0 이상 100 이하입니다.
풀이
using System;
using System.Collections.Generic;
public class Solution {
public int[] solution(int[] numbers) {
int[] answer = new int[] {};
List<int> empty = new List<int>();
List<int> answers = new List<int>();
Array.Sort(numbers);
for(int i=0; i<numbers.Length; i++)
{
for(int j=i+1; j<numbers.Length; j++)
{
empty.Add(numbers[i]+numbers[j]);
}
}
for(int i=0; i<empty.Count; i++)
{
if(!answers.Contains(empty[i]))
answers.Add(empty[i]);
}
answers.Sort();
return answers.ToArray();
}
}
느낀점: 깔끔하게 푼 것 같진 않지만 리스트 요소 검색과 정렬문을 사용하여 풀어낼수 있었다.
반응형
'[C#] 코딩테스트 문제풀이' 카테고리의 다른 글
[C#] 섬연결하기 - 크루스칼 알고리즘 , 그리디 알고리즘 (0) | 2021.02.19 |
---|---|
[C#] 조이스틱(탐욕법) (0) | 2021.02.15 |
[C#] 내적 (0) | 2021.02.05 |
[C#]3진법 뒤집기. (0) | 2021.02.05 |
[C#] 프린터(스택/큐) (0) | 2020.12.26 |