카테고리 없음

개인개발_TIL_3일차(코딩테스트)

티-히히 2025. 2. 19. 22:23
  • 오전
    • 운동(걷기) 
  • 오후
    • 그림 좀 그리기
  • 저녁
    • 코테 한문제 풀기

 

코딩테스트(열의 원소만큼 추가하기)

문제 설명

아무 원소도 들어있지 않은 빈 배열 X가 있습니다. 양의 정수 배열 arr가 매개변수로 주어질 때, arr의 앞에서부터 차례대로 원소를 보면서 원소가 a라면 X의 맨 뒤에 a를 a번 추가하는 일을 반복한 뒤의 배열 X를 return 하는 solution 함수를 작성해 주세요.

 

입출력 예

[5, 1, 4] [5, 5, 5, 5, 5, 1, 4, 4, 4, 4]
[6, 6] [6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6]
[1] [1]

 

 

public int[] solution(int[] arr)
{
    List<int> answer = new List<int>();

    for (int i = 0; arr.Length > i; i++)
    {
        for (int j = 0; arr[i] > j; j++)
        { 
            answer.Add(arr[i]);
        }
    }
    return answer.ToArray();
}

 

각 숫자마다 for문을 돌리고

그 숫자의 수만큼 answer배열에 넣어준다.

 

 

 

List<int>(리스트)와 int[](배열)의 차이

 

c#에서 배열은 고정된 크기의 데이터 구조다. 고로 요소를 추가할 수 없다.

List는 가변크기로 요소를 추가할 수 있다.

 

따라서 List로 가변이 가능한 데이터를 만단 후

ToArray함수로 배열로 다시 바꾼 것.