λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
μΉ΄ν…Œκ³ λ¦¬ μ—†μŒ

STL μ •λ ¬ sort ν•¨μˆ˜ μ‚¬μš©λ²• & 예제 (μ˜€λ¦„μ°¨μˆœ , λ‚΄λ¦Όμ°¨μˆœ)

by 5566 2023. 8. 21.

I. μ†Œκ°œ

STL(Standard Template Library)은 C++μ—μ„œ μ œκ³΅ν•˜λŠ” ν‘œμ€€ 라이브러리둜, λ‹€μ–‘ν•œ 데이터 ꡬ쑰와 μ•Œκ³ λ¦¬μ¦˜μ„ ν¬ν•¨ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. μ΄λŸ¬ν•œ STL은 κ°œλ°œμžλ“€μ—κ²Œ νŽΈλ¦¬ν•œ κΈ°λŠ₯을 μ œκ³΅ν•˜μ—¬ μ½”λ“œ μž‘μ„±μ„ κ°„νŽΈν•˜κ²Œ λ§Œλ“€μ–΄μ€λ‹ˆλ‹€. κ·Έ μ€‘μ—μ„œλ„ sort ν•¨μˆ˜λŠ” μ •λ ¬ μ•Œκ³ λ¦¬μ¦˜μ„ κ΅¬ν˜„ν•΄μ£ΌλŠ” κΈ°λŠ₯으둜 많이 μ‚¬μš©λ˜λŠ” ν•¨μˆ˜μž…λ‹ˆλ‹€. sort ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ 데이터λ₯Ό μ˜€λ¦„μ°¨μˆœμ΄λ‚˜ λ‚΄λ¦Όμ°¨μˆœμœΌλ‘œ μ •λ ¬ν•  수 있으며, 이번 κΈ€μ—μ„œλŠ” sort ν•¨μˆ˜μ˜ μ‚¬μš©λ²•κ³Ό 예제λ₯Ό μ†Œκ°œν•˜λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€.

sort ν•¨μˆ˜λŠ” ν…œν”Œλ¦Ώ ν•¨μˆ˜λ‘œ, λ‹€μ–‘ν•œ μžλ£Œν˜•μ— λŒ€ν•΄μ„œλ„ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ˜€λ¦„μ°¨μˆœμ΄λ‚˜ λ‚΄λ¦Όμ°¨μˆœμœΌλ‘œ μ •λ ¬ν•  λ•Œμ—λ„ 적용 κ°€λŠ₯ν•˜λ©°, μ‚¬μš©λ²•μ— 따라 λ‹€μ–‘ν•œ μ •λ ¬ κ²°κ³Όλ₯Ό 얻을 수 μžˆμŠ΅λ‹ˆλ‹€. λ‹€μŒμœΌλ‘œ μ˜€λ¦„μ°¨μˆœ μ •λ ¬κ³Ό λ‚΄λ¦Όμ°¨μˆœ 정렬에 λŒ€ν•΄ μžμ„Ένžˆ μ•Œμ•„λ³΄λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€.

II. μ˜€λ¦„μ°¨μˆœ μ •λ ¬

μ˜€λ¦„μ°¨μˆœ 정렬은 데이터λ₯Ό μž‘μ€ κ°’λΆ€ν„° 큰 κ°’μ˜ μˆœμ„œλ‘œ μ •λ ¬ν•˜λŠ” 것을 μ˜λ―Έν•©λ‹ˆλ‹€. C++의 STLμ—μ„œλŠ” sort ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ μ˜€λ¦„μ°¨μˆœμœΌλ‘œ 데이터λ₯Ό μ •λ ¬ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

sort ν•¨μˆ˜λŠ” <algorithm> 헀더 νŒŒμΌμ— μ„ μ–Έλ˜μ–΄ 있으며, μ•„λž˜μ™€ 같은 ν˜•νƒœλ‘œ μ‚¬μš©λ©λ‹ˆλ‹€:

#include <algorithm>

sort(start, end);

μ—¬κΈ°μ„œ start와 endλŠ” μ •λ ¬ν•˜κ³ μž ν•˜λŠ” λ°μ΄ν„°μ˜ λ²”μœ„λ₯Ό κ°€λ¦¬ν‚€λŠ” 반볡자(iterator)μž…λ‹ˆλ‹€. startλŠ” 정렬을 μ‹œμž‘ν•  μœ„μΉ˜λ₯Ό 가리킀고, endλŠ” 정렬을 μ’…λ£Œν•  μœ„μΉ˜λ₯Ό κ°€λ¦¬ν‚΅λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄, λ°°μ—΄ ν˜•νƒœλ‘œ 데이터가 μ£Όμ–΄μ‘Œμ„ λ•Œ, λ°°μ—΄μ˜ 첫 번째 μ›μ†Œλ₯Ό κ°€λ¦¬ν‚€λŠ” 반볡자λ₯Ό start둜 μ§€μ •ν•˜κ³ , λ°°μ—΄μ˜ λ§ˆμ§€λ§‰ μ›μ†Œμ˜ λ‹€μŒ μœ„μΉ˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 반볡자λ₯Ό end둜 μ§€μ •ν•˜μ—¬ sort ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•˜λ©΄, λ°°μ—΄μ˜ μ›μ†Œλ“€μ΄ μ˜€λ¦„μ°¨μˆœμœΌλ‘œ μ •λ ¬λ©λ‹ˆλ‹€.

μ•„λž˜λŠ” μ˜€λ¦„μ°¨μˆœμœΌλ‘œ μ •λ ¬ν•˜λŠ” 예제 μ½”λ“œμž…λ‹ˆλ‹€:

#include <iostream>
#include <algorithm>

int main() {
    int arr[] = {5, 2, 9, 7, 1};
    int size = sizeof(arr) / sizeof(arr[0]);

    std::sort(arr, arr + size);

    for (int i = 0; i < size; i++) {
        std::cout << arr[i] << " ";
    }

    return 0;
}

μœ„ μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜λ©΄, 좜λ ₯κ²°κ³ΌλŠ” 1 2 5 7 9κ°€ 될 κ²ƒμž…λ‹ˆλ‹€. μ •λ ¬λœ κ²°κ³Όλ₯Ό 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

sort ν•¨μˆ˜λŠ” 기본적으둜 μ˜€λ¦„μ°¨μˆœμœΌλ‘œ μ •λ ¬λ˜λ©°, 데이터 ν˜•μ— 따라 쑰금 λ‹€λ₯Έ λ™μž‘μ„ ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, λ¬Έμžμ—΄μ„ μ˜€λ¦„μ°¨μˆœμœΌλ‘œ μ •λ ¬ν•˜κ³ μž ν•  λ•Œμ—λ„ sort ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ, μ‚¬μš©μž μ •μ˜λœ κ΅¬μ‘°μ²΄λ‚˜ ν΄λž˜μŠ€μ— λŒ€ν•΄μ„œλ„ sort ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•  수 있으며, 이 κ²½μš°μ—λŠ” μ •λ ¬ 기쀀을 지정해주어야 ν•©λ‹ˆλ‹€. μ΄ν›„μ—μ„œλŠ” λ‚΄λ¦Όμ°¨μˆœ 정렬에 λŒ€ν•΄μ„œ μ•Œμ•„λ³΄λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€.

III. λ‚΄λ¦Όμ°¨μˆœ μ •λ ¬

λ‚΄λ¦Όμ°¨μˆœ 정렬은 데이터λ₯Ό 큰 κ°’λΆ€ν„° μž‘μ€ κ°’μ˜ μˆœμ„œλ‘œ μ •λ ¬ν•˜λŠ” 것을 μ˜λ―Έν•©λ‹ˆλ‹€. C++의 STLμ—μ„œλ„ sort ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ λ‚΄λ¦Όμ°¨μˆœμœΌλ‘œ 데이터λ₯Ό μ •λ ¬ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

λ‚΄λ¦Όμ°¨μˆœμœΌλ‘œ μ •λ ¬ν•˜κΈ° μœ„ν•΄μ„œλŠ” sort ν•¨μˆ˜μ˜ μ„Έ 번째 인자둜 비ꡐ ν•¨μˆ˜λ₯Ό 전달해주어야 ν•©λ‹ˆλ‹€. 비ꡐ ν•¨μˆ˜λŠ” 두 개의 μ›μ†Œλ₯Ό λΉ„κ΅ν•˜μ—¬ μ •λ ¬ μˆœμ„œλ₯Ό κ²°μ •ν•˜λŠ” 역할을 ν•©λ‹ˆλ‹€. 이 비ꡐ ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ sort ν•¨μˆ˜μ— λ‚΄λ¦Όμ°¨μˆœμ„ 지정할 수 μžˆμŠ΅λ‹ˆλ‹€.

sort ν•¨μˆ˜μ˜ ν˜•νƒœλŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€:

#include <algorithm>

sort(start, end, compare);

start와 endλŠ” μ •λ ¬ν•˜κ³ μž ν•˜λŠ” λ°μ΄ν„°μ˜ λ²”μœ„λ₯Ό κ°€λ¦¬ν‚€λŠ” 반볡자이고, compareλŠ” 비ꡐ ν•¨μˆ˜μž…λ‹ˆλ‹€. 비ꡐ ν•¨μˆ˜μ˜ ν˜•νƒœλŠ” μ•„λž˜μ™€ κ°™μŠ΅λ‹ˆλ‹€:

bool compare(const Type& a, const Type& b);

이 비ꡐ ν•¨μˆ˜λŠ” a와 bλΌλŠ” 두 개의 μ›μ†Œλ₯Ό λΉ„κ΅ν•˜μ—¬ μ •λ ¬ μˆœμ„œλ₯Ό κ²°μ •ν•©λ‹ˆλ‹€. λ§Œμ•½ aκ°€ b보닀 μž‘λ‹€λ©΄ trueλ₯Ό λ°˜ν™˜ν•˜κ³ , 그렇지 μ•ŠμœΌλ©΄ falseλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

λ”°λΌμ„œ λ‚΄λ¦Όμ°¨μˆœμœΌλ‘œ μ •λ ¬ν•˜κΈ° μœ„ν•΄μ„œλŠ” 비ꡐ ν•¨μˆ˜κ°€ aκ°€ b보닀 큰 κ²½μš°μ— trueλ₯Ό λ°˜ν™˜ν•˜λ„λ‘ ν•΄μ•Ό ν•©λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄, μ•„λž˜ μ½”λ“œλŠ” 배열을 λ‚΄λ¦Όμ°¨μˆœμœΌλ‘œ μ •λ ¬ν•˜λŠ” μ˜ˆμ œμž…λ‹ˆλ‹€:

#include <iostream>
#include <algorithm>

bool compare(const int& a, const int& b) {
    return a > b;
}

int main() {
    int arr[] = {5, 2, 9, 7, 1};
    int size = sizeof(arr) / sizeof(arr[0]);

    std::sort(arr, arr + size, compare);

    for (int i = 0; i < size; i++) {
        std::cout << arr[i] << " ";
    }

    return 0;
}

μœ„ μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜λ©΄, 좜λ ₯κ²°κ³ΌλŠ” 9 7 5 2 1κ°€ 될 κ²ƒμž…λ‹ˆλ‹€. λ‚΄λ¦Όμ°¨μˆœμœΌλ‘œ μ •λ ¬λœ κ²°κ³Όλ₯Ό 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

비ꡐ ν•¨μˆ˜λŠ” μžλ£Œν˜•μ— 따라 κ΅¬ν˜„ 방식이 λ‹€λ₯Ό 수 있으며, λ¬Έμžμ—΄μ΄λ‚˜ μ‚¬μš©μž μ •μ˜λœ ꡬ쑰체에 λŒ€ν•΄μ„œλ„ λ‚΄λ¦Όμ°¨μˆœ 정렬을 κ΅¬ν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λ ‡κ²Œ sort ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ 데이터λ₯Ό λ‚΄λ¦Όμ°¨μˆœμœΌλ‘œ μ •λ ¬ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

IV. sort ν•¨μˆ˜ μ‚¬μš©λ²•

sort ν•¨μˆ˜λŠ” C++의 STL(Standard Template Library)μ—μ„œ μ œκ³΅ν•˜λŠ” ν•¨μˆ˜λ‘œ, 데이터λ₯Ό μ •λ ¬ν•˜κΈ° μœ„ν•΄ μ‚¬μš©λ©λ‹ˆλ‹€. sort ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜λ©΄ 데이터λ₯Ό μ˜€λ¦„μ°¨μˆœμœΌλ‘œ μ •λ ¬ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

sort ν•¨μˆ˜λŠ” <algorithm> 헀더 νŒŒμΌμ— μ„ μ–Έλ˜μ–΄ 있으며, μ•„λž˜μ™€ 같은 ν˜•νƒœλ‘œ μ‚¬μš©λ©λ‹ˆλ‹€:

#include <algorithm>

sort(start, end);

μ—¬κΈ°μ„œ start와 endλŠ” μ •λ ¬ν•˜κ³ μž ν•˜λŠ” λ°μ΄ν„°μ˜ λ²”μœ„λ₯Ό κ°€λ¦¬ν‚€λŠ” 반볡자(iterator)μž…λ‹ˆλ‹€. startλŠ” 정렬을 μ‹œμž‘ν•  μœ„μΉ˜λ₯Ό 가리킀고, endλŠ” 정렬을 μ’…λ£Œν•  μœ„μΉ˜λ₯Ό κ°€λ¦¬ν‚΅λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄, λ°°μ—΄ ν˜•νƒœλ‘œ 데이터가 μ£Όμ–΄μ‘Œμ„ λ•Œ, λ°°μ—΄μ˜ 첫 번째 μ›μ†Œλ₯Ό κ°€λ¦¬ν‚€λŠ” 반볡자λ₯Ό start둜 μ§€μ •ν•˜κ³ , λ°°μ—΄μ˜ λ§ˆμ§€λ§‰ μ›μ†Œμ˜ λ‹€μŒ μœ„μΉ˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 반볡자λ₯Ό end둜 μ§€μ •ν•˜μ—¬ sort ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•˜λ©΄, λ°°μ—΄μ˜ μ›μ†Œλ“€μ΄ μ˜€λ¦„μ°¨μˆœμœΌλ‘œ μ •λ ¬λ©λ‹ˆλ‹€.

μ•„λž˜λŠ” sort ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ 배열을 μ˜€λ¦„μ°¨μˆœμœΌλ‘œ μ •λ ¬ν•˜λŠ” 예제 μ½”λ“œμž…λ‹ˆλ‹€:

#include <iostream>
#include <algorithm>

int main() {
    int arr[] = {5, 2, 9, 7, 1};
    int size = sizeof(arr) / sizeof(arr[0]);

    std::sort(arr, arr + size);

    for (int i = 0; i < size; i++) {
        std::cout << arr[i] << " ";
    }

    return 0;
}

μœ„ μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜λ©΄, 좜λ ₯κ²°κ³ΌλŠ” 1 2 5 7 9κ°€ 될 κ²ƒμž…λ‹ˆλ‹€. 배열이 μ˜€λ¦„μ°¨μˆœμœΌλ‘œ μ •λ ¬λœ κ²°κ³Όλ₯Ό 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

sort ν•¨μˆ˜λŠ” 기본적으둜 μ˜€λ¦„μ°¨μˆœμœΌλ‘œ μ •λ ¬λ˜λ©°, λ°μ΄ν„°μ˜ ν˜•μ— 따라 쑰금 λ‹€λ₯Έ λ™μž‘μ„ ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, λ¬Έμžμ—΄μ„ μ˜€λ¦„μ°¨μˆœμœΌλ‘œ μ •λ ¬ν•˜κ³ μž ν•  λ•Œμ—λ„ sort ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ, μ‚¬μš©μž μ •μ˜λœ κ΅¬μ‘°μ²΄λ‚˜ ν΄λž˜μŠ€μ— λŒ€ν•΄μ„œλ„ sort ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•  수 있으며, 이 κ²½μš°μ—λŠ” 비ꡐ ν•¨μˆ˜λ₯Ό 지정해주어야 ν•©λ‹ˆλ‹€.

sort ν•¨μˆ˜λŠ” μ •λ ¬ μ•Œκ³ λ¦¬μ¦˜ 쀑 ν•˜λ‚˜μΈ 퀡 μ •λ ¬(Quick Sort)을 기반으둜 λ™μž‘ν•©λ‹ˆλ‹€. 퀡 정렬은 λΆ„ν•  정볡(divide and conquer) 방식을 μ‚¬μš©ν•˜μ—¬ 데이터λ₯Ό μ •λ ¬ν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜μž…λ‹ˆλ‹€. ν‰κ· μ μœΌλ‘œ O(nlogn)의 μ‹œκ°„ λ³΅μž‘λ„λ₯Ό 가지며, 맀우 λΉ λ₯Έ μ†λ„λ‘œ 데이터λ₯Ό μ •λ ¬ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

V. κ²°λ‘ 

sort ν•¨μˆ˜λŠ” C++의 STL(Standard Template Library)μ—μ„œ μ œκ³΅ν•˜λŠ” ν•¨μˆ˜λ‘œ, 데이터λ₯Ό μ •λ ¬ν•˜κΈ° μœ„ν•΄ μ‚¬μš©λ©λ‹ˆλ‹€. sort ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜λ©΄ 데이터λ₯Ό μ˜€λ¦„μ°¨μˆœμœΌλ‘œ μ •λ ¬ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

sort ν•¨μˆ˜λŠ” <algorithm> 헀더 νŒŒμΌμ— μ„ μ–Έλ˜μ–΄ 있으며, μ‚¬μš©λ²•μ€ 맀우 κ°„λ‹¨ν•©λ‹ˆλ‹€. μ •λ ¬ν•  λ°μ΄ν„°μ˜ μ‹œμž‘ μœ„μΉ˜μ™€ 끝 μœ„μΉ˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 반볡자λ₯Ό μ „λ‹¬ν•˜μ—¬ sort ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•˜λ©΄ λ©λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄, λ°°μ—΄λ‘œ 주어진 데이터λ₯Ό μ •λ ¬ν•˜κ³ μž ν•  λ•Œμ—λŠ” λ°°μ—΄μ˜ 첫 번째 μ›μ†Œλ₯Ό κ°€λ¦¬ν‚€λŠ” 반볡자λ₯Ό μ‹œμž‘ μœ„μΉ˜λ‘œ μ§€μ •ν•˜κ³ , λ°°μ—΄μ˜ λ§ˆμ§€λ§‰ μ›μ†Œμ˜ λ‹€μŒ μœ„μΉ˜λ₯Ό κ°€λ¦¬ν‚€λŠ” 반볡자λ₯Ό 끝 μœ„μΉ˜λ‘œ μ§€μ •ν•©λ‹ˆλ‹€. μ΄λ ‡κ²Œ μ„€μ •ν•œ 후에 sort ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•˜λ©΄, 주어진 데이터가 μ˜€λ¦„μ°¨μˆœμœΌλ‘œ μ •λ ¬λ©λ‹ˆλ‹€.

μ½”λ“œμ—μ„œλŠ” sort ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ μ •λ ¬λœ 데이터λ₯Ό 좜λ ₯ν•˜μ˜€μŠ΅λ‹ˆλ‹€. κ²°κ³Όλ₯Ό ν™•μΈν•˜μ—¬ 주어진 데이터가 μ˜¬λ°”λ₯΄κ²Œ μ˜€λ¦„μ°¨μˆœμœΌλ‘œ μ •λ ¬λ˜μ—ˆλŠ”μ§€ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

sort ν•¨μˆ˜λŠ” 기본적으둜 μ˜€λ¦„μ°¨μˆœμœΌλ‘œ μ •λ ¬λ˜λ©°, λ°μ΄ν„°μ˜ ν˜•μ— 따라 쑰금 λ‹€λ₯Έ λ™μž‘μ„ ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ¬Έμžμ—΄μ΄λ‚˜ μ‚¬μš©μž μ •μ˜λœ ꡬ쑰체에 λŒ€ν•΄μ„œλ„ sort ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•  수 있으며, 비ꡐ ν•¨μˆ˜λ₯Ό 지정해주어야 ν•©λ‹ˆλ‹€.

sort ν•¨μˆ˜λŠ” 퀡 μ •λ ¬(Quick Sort) μ•Œκ³ λ¦¬μ¦˜μ„ 기반으둜 λ™μž‘ν•©λ‹ˆλ‹€. 퀡 정렬은 ν‰κ· μ μœΌλ‘œ O(nlogn)의 μ‹œκ°„ λ³΅μž‘λ„λ₯Ό 가지며, 맀우 λΉ λ₯Έ μ†λ„λ‘œ 데이터λ₯Ό μ •λ ¬ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

C++의 sort ν•¨μˆ˜λŠ” 정렬에 ν•„μš”ν•œ λ‹€μ–‘ν•œ κΈ°λŠ₯을 μ œκ³΅ν•˜λ©°, κ°„νŽΈν•˜κ²Œ μ‚¬μš©ν•  수 μžˆλŠ” νŽΈλ¦¬ν•œ ν•¨μˆ˜μž…λ‹ˆλ‹€. λ‹€μ–‘ν•œ μžλ£Œν˜•μœΌλ‘œ 데이터λ₯Ό μ •λ ¬ν•˜κ³ μž ν•  λ•Œμ—λŠ” 비ꡐ ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ μ›ν•˜λŠ” μ •λ ¬ μˆœμ„œλ₯Ό 지정할 수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λŸ¬ν•œ κΈ°λŠ₯을 ν™œμš©ν•˜μ—¬ λ‹€μ–‘ν•œ 문제λ₯Ό ν•΄κ²°ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

λŒ“κΈ€