๋ฌธ์ ์ค๋ช
xx ํ์ฌ์ 2xN๋ช ์ ์ฌ์๋ค์ N๋ช ์ฉ ๋ ํ์ผ๋ก ๋๋ ์ซ์ ๊ฒ์์ ํ๋ ค๊ณ ํฉ๋๋ค. ๋ ๊ฐ์ ํ์ ๊ฐ๊ฐ Aํ๊ณผ Bํ์ด๋ผ๊ณ ํ๊ฒ ์ต๋๋ค. ์ซ์ ๊ฒ์์ ๊ท์น์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ ์ฒด ์ฌ์๋ค์ ์ฐ์ ๋ฌด์์๋ก ์์ฐ์๋ฅผ ํ๋์ฉ ๋ถ์ฌ๋ฐ์์ต๋๋ค. ๊ทธ๋ค์ Aํ์ ๋น ๋ฅด๊ฒ ์ถ์ ์์๋ฅผ ์ ํ๊ณ ์์ ๋ค์ ์ถ์ ์์๋ฅผ Bํ์๊ฒ ๊ณต๊ฐํด๋ฒ๋ ธ์ต๋๋ค. Bํ์ ๊ทธ๊ฒ์ ๋ณด๊ณ ์์ ๋ค์ ์ต์ข
์น์ ์ ๊ฐ์ฅ ๋์ด๋ ๋ฐฉ๋ฒ์ผ๋ก ํ์๋ค์ ์ถ์ ์์๋ฅผ ์ ํ์ต๋๋ค. ์ด๋์ Bํ์ด ์ป๋ ์น์ ์ ๊ตฌํด์ฃผ์ธ์.
A ํ์๋ค์ด ๋ถ์ฌ๋ฐ์ ์๊ฐ ์ถ์ ์์๋๋ก ๋์ด๋์ด์๋ ๋ฐฐ์ด A
์ i๋ฒ์งธ ์์๊ฐ Bํ์ i๋ฒ ํ์์ด ๋ถ์ฌ๋ฐ์ ์๋ฅผ ์๋ฏธํ๋ ๋ฐฐ์ด B
๊ฐ ์ฃผ์ด์ง ๋, B ํ์๋ค์ด ์ป์ ์ ์๋ ์ต๋ ์น์ ์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
์ ์ถ๋ ฅ ์
A | B | result |
---|---|---|
[5,1,3,7] | [2,2,6,8] | 3 |
[2,2,2,2] | [1,1,1,1] | 0 |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
A ํ์ ์ซ์ 5๋ฅผ ๋ถ์ฌ๋ฐ์ ํ์์ด ์ฒซ๋ฒ์งธ๋ก ์ถ์ ํ๊ณ , ์ด์ด์ 1,3,7์ ๋ถ์ฌ๋ฐ์ ํ์๋ค์ด ์ฐจ๋ก๋๋ก ์ถ์ ํฉ๋๋ค.
B ํ์๋ค์ 4๋ฒ, 2๋ฒ, 3๋ฒ, 1๋ฒ์ ์์๋๋ก ์ถ์ ์ํฌ ๊ฒฝ์ฐ ํ์๋ค์ด ๋ถ์ฌ๋ฐ์ ์ซ์๋ค์ ์ฐจ๋ก๋๋ก 8,2,6,2๊ฐ ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ฉด, ์ฒซ ๋ฒ์งธ, ๋ ๋ฒ์งธ, ์ธ ๋ฒ์งธ ๊ฒฝ๊ธฐ์์ ์น๋ฆฌํ์ฌ 3์ ์ ์ป๊ฒ ๋๊ณ , ์ด๋๊ฐ ์ต๋์ ์น์ ์
๋๋ค.
์ ์ถ๋ ฅ ์ #2
B ํ์๋ค์ ์ด๋ค ์์๋ก ์ถ์ ์์ผ๋ Bํ์ ์น์ ์ 0์ ์ ๋๋ค.
๋์ ํ์ด
3๋จ๊ณ ์น๊ณ ๊ต์ฅํ ๊ฐ๋จํ ๋ฌธ์ ์ด๋ฉฐ Greedyํ ์๊ณ ๋ฆฌ์ฆ์ด๋ผ๊ณ ๋ณผ ์ ์๋ค.
์ฐ์ ๋ ๋ฐฐ์ด์ ์ ๋ ฌํ ํ ๊ฐ ์์๋ฅผ ๋น๊ตํ๋ฉฐ A๋ฐฐ์ด์ด B๋ฐฐ์ด์ ์์๋ณด๋ค ์๋ค๋ฉด ๋ค์ ์์๋ฅผ ๋น๊ตํ๋ฉฐ ๊ฐ๊ฑฐ๋ ํฌ๋ค๋ฉด B์์์ ๋ค์์์์ ํ์ฌ์ A๋ฐฐ์ด ์์๋ฅผ ๋น๊ต ๋ฐ๋ณตํจ.
function solution(A, B) {
let count = 0
A = A.sort((a,b) => a-b)
B = B.sort((a,b) => a-b)
A.forEach((el,idx) => {
if(A[count] < B[idx]) count++
})
return count
}