๋ฌธ์
n๊ฐ์ ์๋ก ๋ค๋ฅธ ์์ ์ ์ a1, a2, ..., an์ผ๋ก ์ด๋ฃจ์ด์ง ์์ด์ด ์๋ค. ai์ ๊ฐ์ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 1000000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ์์ฐ์ x๊ฐ ์ฃผ์ด์ก์ ๋, ai + aj = x (1 ≤ i < j ≤ n)์ ๋ง์กฑํ๋ (ai, aj)์์ ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ์์ด์ ํฌ๊ธฐ n์ด ์ฃผ์ด์ง๋ค. ๋ค์ ์ค์๋ ์์ด์ ํฌํจ๋๋ ์๊ฐ ์ฃผ์ด์ง๋ค. ์ ์งธ ์ค์๋ x๊ฐ ์ฃผ์ด์ง๋ค. (1 ≤ n ≤ 100000, 1 ≤ x ≤ 2000000)
์ถ๋ ฅ
๋ฌธ์ ์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค.
ํด๊ฒฐ๋ฐฉ๋ฒ
๋ฌธ์ ๋ฅผ ์ฒ์ ์ ํ์ ๋๋ ์ฝํ๋ฆฐ์ find๋ฅผ ์ฌ์ฉํด์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค.
์ฐ์ ์
๋ ฅ ๋ฐ์ ๋ฐฐ์ด์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๊ณ , ๋งจ ์๋ถํฐ ํ์์ ์งํํ๋ฉด์ ์
๋ ฅ๋ฐ์ x - ํ์ฌ์ ์์
๊ฐ ๋ฐฐ์ด ๋ด์ ์กด์ฌํ๋ ๊ฒฝ์ฐ ์ด๋ฅผ ์นด์ดํธํ๊ณ ๋ง์ง๋ง์ 2๋ก ๋๋ ์ฃผ๋ ๋ฐฉ์์ผ๋ก ์ ๊ทผํ๋ค.
ํต๊ณผํ ์ฝ๋์ด์ง๋ง ๋ญ๊ฐ ๋นํจ์จ์ ์ธ ์ฝ๋์๋ค. ์ข ๋ ํจ์จ์ ์ผ๋ก ํ์ํ๊ธฐ ์ํด์๋ ํฌํฌ์ธํฐ ๋ฐฉ๋ฒ์ ์ฌ์ฉํด์ผ ํ๋ค.
ํต๊ณผ
'โ๏ธ ์ฝํ ์ค๋น > Two Pointer' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํฌํฌ์ธํฐ / Kotlin] BOJ 1644 - ์์์ ์ฐ์ํฉ (0) | 2021.12.27 |
---|---|
[ํฌํฌ์ธํฐ / Kotlin] BOJ 1806 - ๋ถ๋ถ ํฉ (0) | 2021.12.26 |
[ํฌํฌ์ธํฐ / Kotlin] BOJ 2470 - ๋ ์ฉ์ก (0) | 2021.12.25 |