Hello Ocean! ๐ŸŒผ

[C++/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ˆซ์ž ๊ฒŒ์ž„ ๋ณธ๋ฌธ

Algorithm

[C++/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ˆซ์ž ๊ฒŒ์ž„

bba_dda 2022. 3. 29. 21:29
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ

https://programmers.co.kr/learn/courses/30/lessons/12987

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์ˆซ์ž ๊ฒŒ์ž„

xx ํšŒ์‚ฌ์˜ 2xN๋ช…์˜ ์‚ฌ์›๋“ค์€ N๋ช…์”ฉ ๋‘ ํŒ€์œผ๋กœ ๋‚˜๋ˆ  ์ˆซ์ž ๊ฒŒ์ž„์„ ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋‘ ๊ฐœ์˜ ํŒ€์„ ๊ฐ๊ฐ AํŒ€๊ณผ BํŒ€์ด๋ผ๊ณ  ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ˆซ์ž ๊ฒŒ์ž„์˜ ๊ทœ์น™์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋จผ์ € ๋ชจ๋“  ์‚ฌ์›์ด ๋ฌด์ž‘์œ„๋กœ

programmers.co.kr

ํ’€์ด

A์™€ B๋ฅผ ๋ชจ๋‘ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ๋‹ค.

a_idx, b_max_idx๋ฅผ 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ

A[a_idx] vs B[b_max_idx] ์ด๋ ‡๊ฒŒ ์ˆœ์ฐจ์ ์œผ๋กœ ๋Œ€๊ฒฐ์„ ํ•ด ๋‚˜๊ฐˆ๊ฑด๋ฐ,

1. A๊ฐ€ ์ด๊ธฐ๋Š” ๊ฒฝ์šฐ๋ผ๋ฉด, B์˜ ๊ฐ€์žฅ ์ž‘์€ ์›์†Œ๋ฅผ ๋‚ธ๋‹ค๊ณ  ์ƒ๊ฐ (์–ด์ฐจํ”ผ ์งˆ ๋ฐ”์— ์ œ์ผ ์ž‘์€ ๊ฑธ๋กœ ์ง€์ž!)

2. B๊ฐ€ ์ด๊ธฐ๋Š” ๊ฒฝ์šฐ๋ผ๋ฉด, B[b_max_idx]๋ฅผ ๋‚ธ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค.

์ฝ”๋“œ

#include <string>
#include <vector>
#include <algorithm>

using namespace std;

int solution(vector<int> A, vector<int> B) {
    int answer = 0;
    int a_idx = 0;
    int b_max_idx = 0;
    
    sort(A.begin(), A.end(), greater<int>());
    sort(B.begin(), B.end(), greater<int>());
    
    for (int i=0;i<A.size();i++) {
        if (A[a_idx++] < B[b_max_idx]) { 
            b_max_idx++;
            answer++;
        }
        // else // ์ œ์ผ ์ž‘์€ ํŒจ๋กœ lose
    }
    return answer;
}

๊ฒฐ๊ณผ

์ •ํ™•์„ฑ ํ…Œ์ŠคํŠธ
ํ…Œ์ŠคํŠธ 1 ใ€‰ ํ†ต๊ณผ (0.01ms, 4.16MB)
ํ…Œ์ŠคํŠธ 2 ใ€‰ ํ†ต๊ณผ (0.01ms, 4.17MB)
ํ…Œ์ŠคํŠธ 3 ใ€‰ ํ†ต๊ณผ (0.01ms, 4.18MB)
ํ…Œ์ŠคํŠธ 4 ใ€‰ ํ†ต๊ณผ (0.01ms, 3.66MB)
ํ…Œ์ŠคํŠธ 5 ใ€‰ ํ†ต๊ณผ (0.01ms, 4.09MB)
ํ…Œ์ŠคํŠธ 6 ใ€‰ ํ†ต๊ณผ (0.01ms, 4.17MB)
ํ…Œ์ŠคํŠธ 7 ใ€‰ ํ†ต๊ณผ (0.01ms, 4.17MB)
ํ…Œ์ŠคํŠธ 8 ใ€‰ ํ†ต๊ณผ (0.01ms, 4.17MB)
ํ…Œ์ŠคํŠธ 9 ใ€‰ ํ†ต๊ณผ (0.09ms, 4.09MB)
ํ…Œ์ŠคํŠธ 10 ใ€‰ ํ†ต๊ณผ (0.04ms, 4.18MB)
ํ…Œ์ŠคํŠธ 11 ใ€‰ ํ†ต๊ณผ (0.07ms, 3.7MB)
ํ…Œ์ŠคํŠธ 12 ใ€‰ ํ†ต๊ณผ (0.04ms, 3.61MB)
ํ…Œ์ŠคํŠธ 13 ใ€‰ ํ†ต๊ณผ (0.48ms, 4.11MB)
ํ…Œ์ŠคํŠธ 14 ใ€‰ ํ†ต๊ณผ (0.94ms, 4.18MB)
ํ…Œ์ŠคํŠธ 15 ใ€‰ ํ†ต๊ณผ (0.53ms, 4.17MB)
ํ…Œ์ŠคํŠธ 16 ใ€‰ ํ†ต๊ณผ (0.90ms, 4.23MB)
ํ…Œ์ŠคํŠธ 17 ใ€‰ ํ†ต๊ณผ (0.04ms, 3.71MB)
ํ…Œ์ŠคํŠธ 18 ใ€‰ ํ†ต๊ณผ (0.08ms, 4.18MB)
ํšจ์œจ์„ฑ ํ…Œ์ŠคํŠธ
ํ…Œ์ŠคํŠธ 1 ใ€‰ ํ†ต๊ณผ (12.01ms, 10.4MB)
ํ…Œ์ŠคํŠธ 2 ใ€‰ ํ†ต๊ณผ (11.48ms, 10.1MB)
ํ…Œ์ŠคํŠธ 3 ใ€‰ ํ†ต๊ณผ (11.63ms, 10.1MB)
์ฑ„์  ๊ฒฐ๊ณผ
์ •ํ™•์„ฑ: 85.7
ํšจ์œจ์„ฑ: 14.3
ํ•ฉ๊ณ„: 100.0 / 100.0
๋ฐ˜์‘ํ˜•