99클럽 코테 스터디 25일차 TIL + 배열

Boxx-Ham·2024년 6월 14일
0

99TIL

목록 보기
18/19
post-thumbnail

1. 오늘의 문제

Shuffle the Array

2. 문제 분석

  • 2n 길이의 배열 : nums
  • nums의 구조 : [x1, x2, ... , xn, y1, y2, ... , yn]
  • 리턴 값 : [x1, y1, x2, y2, ... , xn, yn]
  • 1n5001 \leq n \leq 500
  • nums.length = 2n
  • 1nums[i]1031 \leq nums[i] \leq 10^3

  • Example 1
    • Input: nums = [2,5,1,3,4,7], n = 3
    • Output: [2,3,5,4,1,7]
    • Explanation: Since x1=2, x2=5, x3=1, y1=3, y2=4, y3=7 then the answer is [2,3,5,4,1,7].other node, so 2 is the center.
  • Example 2
    • Input: nums = [1,2,3,4,4,3,2,1], n = 4
    • Output: [1,4,2,3,3,2,4,1]
  • Example 3
    • Input: nums = [1,1,2,2], n = 2
    • Output: [1,2,1,2]

3. 문제 풀이

  1. ArrayList 생성
  2. for 문으로 i는 0부터 n-1 까지 돌림
  3. ArrayList에 i, i + n 차례로 추가
  4. 배열로 변환 후 리턴

4. 구현 코드

import java.util.ArrayList;
import java.util.List;

class Solution {
    public int[] shuffle(int[] nums, int n) {
        // ArrayList 생성
        List<Integer> numsList = new ArrayList<>();

        // for 문으로 i는 0부터 n-1 까지 돌림
        for (int i = 0; i < n; i++) {
            // ArrayList에 i, i+n 추가
            numsList.add(nums[i]);
            numsList.add(nums[i + n]);
        }
        // 배열로 변환 후 리턴
        return numsList.stream().mapToInt(i -> i).toArray();
    }
}

5. 오늘의 회고

  • for문을 여러 번 쓰기 귀찮아서 한 번에 넣으려고 ArrayList 활용

#99클럽 #코딩테스트 준비 #개발자 취업 #항해99 #TIL

0개의 댓글