using System;
public class Solution {
public string solution(string[] seoul)
{
string answer = "";
int temp = Array.IndexOf(seoul, "Kim");
answer = "김서방은 " + temp + "에 있다";
return answer;
}
}
배열의 특정값을 만족하는 첫번째 index 값 찾기!!
int indexA = Array.IndexOf(strArr, "A");
-내 풀이-
using System;
public class Solution
{
public int[] solution(int[] arr, int divisor)
{
int[] answer = new int[arr.Length];
int temp = 0;
for(int i = 0; i < arr.Length; i++)
{
if(arr[i]%divisor == 0)
{
answer[temp] = arr[i];
temp++;
}
}
if(temp == 0)
{
return new int[] {-1};
}
else
{
Array.Resize(ref answer, temp);// 배열의 크기가 arr.Length로 설정 되어있으므로 그것보다 작을 경우를 위해서 배열의 크기를 다시 정해준다.
Array.Sort(answer);
return answer;
}
return answer;
}
}
-다른 사람의 풀이-
using System.Collections.Generic;
public class Solution {
public int[] solution(int[] arr, int divisor) {
// result 리스트를 만들어 준다.
List<int> result = new List<int>();
// 입력받은 arr의 길이만큼 for문을 돌면서 arr의 원소하나하나를 확인
for(int i=0; i<arr.Length; i++)
{
// arr의 원소 중 divisor로 나누어 떨어지면
if(arr[i]%divisor == 0)
{
// 아까 만든 리스트의 원소로 넣어준다.
result.Add(arr[i]);
}
}
// 만약 나눠떨어진게 없어서 리스트가 0개라면 -1을 출력
if (result.Count == 0)
return new int[] { -1 };
// result리스트를 오름차순으로 정렬해준다.
result.Sort();
// 배열을 반환해달라고 했으므로 ToArray()를 써서 배열로 리턴함
return result.ToArray();
}
}
리스트를 사용하는 경우와 배열을 사용하는 경우:
데이터의 순서를 바꿔가며 삽입 또는 삭제 연산을 많이 사용 할때는 리스트, 배열의 끝에만 삽입, 삭제를 하고 빠르게 값에 접근해야 할 일이 많을 때는 배열을 사용하는 것이 좋다.
Array.Resize() 를 통해서 배열의 크기를 다시 설정 할 수 있다.!