728x90
๋ฐ์ํ
Problem
Solution
1. ์ฌ๋์ ๋ฌด๊ฒ ์์ผ๋ก ์ ๋ ฌํ๋ค.
let sorted = people.sort((a,b) => a-b)
2. ์ ๋ ฌํ ๋ฌด๊ฒ์ ์์๊ณผ ๋์ ์ง์ ํด์ค๋ค.
let start = 0
let end = people.length - 1
3. ๊ฐ์ฅ ๋ฌด๊ฑฐ์ด ์ฌ๋๋ถํฐ ๊ฐ์ฅ ๊ฐ๋ฒผ์ด ์ฌ๋์ ์ฐจ๋ก๋ก ์ฐ๊ฒฐ์ง๋๋ค.
๋ง์ฝ ๊ฐ์ฅ ๋ฌด๊ฑฐ์ด ์ฌ๋๊ณผ ๊ฐ์ฅ ๊ฐ๋ฒผ์ด ์ฌ๋์ ์ฐ๊ฒฐ์ง์๋๋ฐ limit๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ผ๋ฉด ๊ฐ์ด ๋ณดํธ๋ฅผ ํ ์ ์๋ ๊ฒฝ์ฐ์ด๋ฏ๋ก ๊ฐ์ฅ ๊ฐ๋ฒผ์ด ์ฌ๋์ ์์น๋ฅผ +1 ํด์ค ๊ฐฑ์ ํด ์ค๋๋ค.
๊ทธ๊ฒ ์๋๋ผ๋ฉด ๋ฌด๊ฑฐ์ด ์ฌ๋ ํผ์๋ง ํ ์ ์๋ ๊ฒฝ์ฐ์ด๋ฏ๋ก ๊ฐ์ฅ ๋ฌด๊ฑฐ์ด ์ฌ๋์ -1 ํด์ค ๊ฐฑ์ ํด ์ค๋๋ค.
๋์ด ํ์ ๊ฒฝ์ฐ, ๋ฌด๊ฑฐ์ด ์ฌ๋ ํผ์ ํ์ ๊ฒฝ์ฐ ๋ชจ๋ ๋ณดํธ๋ฅผ ์ด์ฉํ ๊ฒ์ด๋ฏ๋ก answer๋ฅผ +1 ํด์ค๋๋ค.
while (start < end) {
if (sorted[start] + sorted[end] <= limit) {
start += 1
}
end -= 1
answer += 1
}
4. ๊ฐ์ฅ ๋ฌด๊ฑฐ์ด ์ฌ๋๊ณผ ๊ฐ์ฅ ๊ฐ๋ฒผ์ด ์ฌ๋์ด ๋์ผํ ๊ฒฝ์ฐ answer +1 ํด์ค๋ค.
์ด ๊ฒฝ์ฐ๋ ํผ์๋ง ๋จ์ ๊ฒฝ์ฐ์ด๋ฏ๋ก answer์ +1์ ํด์ค๋๋ค.
return start == end ? answer + 1 : answer;
Source Code
<script src="https://gist.github.com/fomagran/3698fa776a36a1e8ec0515d4ba8794af.js"></script>
728x90
๋ฐ์ํ
'๐ Problem Solution > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] ํ๋ก๊ทธ๋๋จธ์ค ์ซ์์ ํํ (0) | 2022.04.11 |
---|---|
[JS] ํ๋ก๊ทธ๋๋จธ์ค ๊ฐ์ ์ซ์๋ ์ซ์ด (0) | 2022.04.11 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค ๊ฒ์ ๋งต ์ต๋จ๊ฑฐ๋ฆฌ (0) | 2022.04.11 |
[Swift] 2019 KAKAO BLIND RECRUITMENT ๋ธ๋ก ๊ฒ์ (0) | 2022.03.28 |
[Swift] ํ๋ก๊ทธ๋๋จธ์ค ์ฌ๋ฐ๋ฅธ ๊ดํธ์ ๊ฐฏ์ (0) | 2022.03.06 |
๋๊ธ