넘치게 채우기

[LeetCode] 1460. Make Two Arrays Equal by Reversing Subarrays 본문

PS/LeetCode

[LeetCode] 1460. Make Two Arrays Equal by Reversing Subarrays

riveroverflow 2024. 8. 3. 10:35
728x90
반응형

https://leetcode.com/problems/make-two-arrays-equal-by-reversing-subarrays/description/?envType=daily-question&envId=2024-08-03

leetcode - Make Two Arrays Equal by Reversing Subarrays

문제 유형 : 정렬

문제 난이도 : Easy

 

문제

You are given two integer arrays of equal length target and arr. In one step, you can select any non-empty subarray of arr and reverse it. You are allowed to make any number of steps.

Return true if you can make arr equal to target or false otherwise.

 

두 개의 정수배열 target과 arr이 주어진다.

길이가 1이상인 부분배열을 골라서 뒤집을 수 있다. 이를 몇 변이고 할 수 있다.

arr을 target과 똑같이 만들 수 있는지 확인하시오.

 

풀이

길이가 2짜리인 부분배열을 뒤집으면, 버블 정렬에서의 swap과 같은 연산이다.

즉, 이 문제는 두 배열을 정렬시켰을 때 동치인지만 확인하면 된다.

 

코드

C++

class Solution {
public:
    bool canBeEqual(vector<int>& target, vector<int>& arr) {
        int n = arr.size();
        sort(target.begin(), target.end());
        sort(arr.begin(), arr.end());

        for(int i = 0; i < n; i++) {
            if(target[i] != arr[i]) return false;
        }

        return true;
    }
};
728x90
반응형