[์ค์ํํธ ์๊ณ ๋ฆฌ์ฆ] ํ๋ก๊ทธ๋๋จธ์ค: 2๊ฐ ์ดํ๋ก ๋ค๋ฅธ ๋นํธ
๋ฌธ์
https://programmers.co.kr/learn/courses/30/lessons/77885
๋ฌธ์ ์ค๋ช
์์ ์ ์ x์ ๋ํ ํจ์ f(x)๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ ์ํฉ๋๋ค.
- x๋ณด๋ค ํฌ๊ณ x์ ๋นํธ๊ฐ 1~2๊ฐ ๋ค๋ฅธ ์๋ค ์ค์์ ์ ์ผ ์์ ์
์๋ฅผ ๋ค์ด,
- f(2) = 3 ์ ๋๋ค. ๋ค์ ํ์ ๊ฐ์ด 2๋ณด๋ค ํฐ ์๋ค ์ค์์ ๋นํธ๊ฐ ๋ค๋ฅธ ์ง์ ์ด 2๊ฐ ์ดํ์ด๋ฉด์ ์ ์ผ ์์ ์๊ฐ 3์ด๊ธฐ ๋๋ฌธ์ ๋๋ค.
์๋นํธ๋ค๋ฅธ ๋นํธ์ ๊ฐ์
2 | 000...0010 | |
3 | 000...0011 | 1 |
- f(7) = 11 ์ ๋๋ค. ๋ค์ ํ์ ๊ฐ์ด 7๋ณด๋ค ํฐ ์๋ค ์ค์์ ๋นํธ๊ฐ ๋ค๋ฅธ ์ง์ ์ด 2๊ฐ ์ดํ์ด๋ฉด์ ์ ์ผ ์์ ์๊ฐ 11์ด๊ธฐ ๋๋ฌธ์ ๋๋ค.
์๋นํธ๋ค๋ฅธ ๋นํธ์ ๊ฐ์
7 | 000...0111 | |
8 | 000...1000 | 4 |
9 | 000...1001 | 3 |
10 | 000...1010 | 3 |
11 | 000...1011 | 2 |
์ ์๋ค์ด ๋ด๊ธด ๋ฐฐ์ด numbers๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. numbers์ ๋ชจ๋ ์๋ค์ ๋ํ์ฌ ๊ฐ ์์ f ๊ฐ์ ๋ฐฐ์ด์ ์ฐจ๋ก๋๋ก ๋ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
ํ์ด
์ฒ์์๋ ์๋์ ๊ฐ์ด ๋์ด๋ธํ ๋ฐฉ๋ฒ์ผ๋ก 1์ฉ ๋ํด๊ฐ๋ฉด์ ๊ฐ์ฅ ์ฒ์ ๋ฑ์ฅํ๋ ๋นํธ์ ์ฐจ์ด๊ฐ 1์ด๋ 2์ธ ์ซ์๋ฅผ ์ฐพ์๋ด์์ต๋๋ค. ํ์ง๋ง ์๊ฐ์ด๊ณผ๋ก ๋ง์ง๋ง ๋ ๊ฐ์ ํ ์คํธ์ผ์ด์ค๋ฅผ ํต๊ณผํ์ง ๋ชปํ๊ณ , ๊ณ ๋ฏผ์ ํ๋ค๊ฐ ๊ตฌ๊ธ๋ง์ ํตํด ํํธ๋ฅผ ์ป์ด ํ๊ฒ ๋์์ต๋๋ค.
๋จผ์ ์ฐจ์ด๊ฐ 1์ด๋ 2๊ฐ ๋๋ ๊ฐ์ฅ ์์ ์๋ฅผ ๊ตฌํ ๋, ๊ธฐ์ค ์ซ์๊ฐ ์ง์์ธ ๊ฒฝ์ฐ์๋ ๋ฐ๋ก ๋ค์ ์ซ์๊ฐ ์ฐจ์ด๊ฐ 1์ด ๋๋ ๊ฐ์ฅ ์์ ์ซ์๊ฐ ๋ฉ๋๋ค. 2์ง์๋ก ํํํ์ ๋ ์ง์๋ LSB๊ฐ ํญ์ 0์ด๊ธฐ ๋๋ฌธ์, ์ง์์ ๋ฐ๋ก ๋ค์ ์ซ์๋ 0์ 1๋ก ๋ง๋๋ ์ ์ ๋๋ค. ๋ฐ๋ผ์ ์ง์์ ๊ฒฝ์ฐ์๋ ๊ธฐ์ค ์ซ์์์ 1์ ๋ํ ์ซ์๊ฐ ์ ๋ต์ ๋๋ค.
ํ์์ ๊ฒฝ์ฐ์๋ ์กฐ๊ธ ๋ณต์กํฉ๋๋ค. ํ์๋ ๋ง์ง๋ง ๋นํธ์ธ LSB๊ฐ ํญ์ 1์ ๋๋ค. ๋ฐ๋ผ์ 2์ง์๋ก ๋ณํํ์ ๋ ์ต์ํ์ ๋ณํ๋ก 1์ 0์ผ๋ก ๋ง๋๋ ์ซ์๋ฅผ ๊ณจ๋ผ๋ด์ผํฉ๋๋ค. ์ด๋ฅผ ์ํด ๋นํธ์ฐ์ฐ์ ์ฌ์ฉํฉ๋๋ค. ๋นํธ์ฐ์ฐ์ ํตํด ๋ค์๊ณผ ๊ฐ์ ๋ก์ง์ผ๋ก ๋ค์ ์ซ์๋ฅผ ์ฐพ์๋ผ ๊ฒ์ ๋๋ค.
์๋ฅผ ๋ค์ด, ์๊ณ ์ ํ๋ ๊ธฐ์ค ์ซ์๊ฐ 7(0000...(์ด 64๋นํธ)...0111) ์ด๋ผ๊ณ ํด๋ณด๊ฒ ์ต๋๋ค.
- ํ์ฌ ์ซ์์ 2์ง์์ ๋ณด์๋ฅผ ์ทจํ๊ณ ํ์ฌ ์ซ์์ 1์ ๋ํ ๊ฐ์ 2์ง์์ AND ์ฐ์ฐ์ ์ทจํ๋ค.
- 0000...0111์ ๋ณด์๋ 1111...1000 ์ ๋๋ค.
- 7์ 1์ ๋ํ ๊ฐ์ 8์ด๊ณ , 2์ง์๋ก ๋ณํํ๋ฉด 0000...1000 ์ด ๋ฉ๋๋ค.
- ํ์ฌ ์ซ์์ธ 0000...0111๊ณผ 1111...1000์ AND ์ฐ์ฐ์ ์ํํ๋ฉด 0000...0000 ์ด ๋ฉ๋๋ค.
- ์ฌ๊ธฐ์ 1000์ 1์ LSB๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ฐ์ฅ ๊ฐ๊น์ด์ ์๋ 0์ ์๋ฏธํฉ๋๋ค. ์ฆ, 7์ 2์ง์๋ก ๋ฐ๊ฟจ์ ๋ ๊ฐ์ฅ ์ค๋ฅธ์ชฝ์์ ๊ฐ์ฅ ๊ฐ๊น์ด์ ์๋ 0๋นํธ๊ฐ 4๋ฒ์งธ (0111) ์ด๊ณ , ์ด๊ณณ์ 1๋ก ๋ง๋ค๊ณ 1์ค ํ๋๋ฅผ 0์ผ๋ก ๋ง๋ค๋ฉด 2๊ฐ๋ฅผ ๋ฐ๊ฟ ํ์ฌ ์ซ์์์ ๊ฐ์ฅ ๊ฐ๊น์ด ์ซ์๋ฅผ ๊ตฌํ ์ ์์ต๋๋ค.
- ๊ฒฐ๊ตญ ์ด ๋จ๊ณ์์ ํ ์์ ์ ๊ธฐ์ค ์ซ์์์ ์ด๋ค 0์ 1๋ก ๋ฐ๊ฟ์ง๋ฅผ ๊ฒฐ์ ํ ๊ฒ์ ๋๋ค.
- ์ด์ ๊ธฐ์ค์ซ์์ ์์์ ๊ตฌํ์ซ์์ OR์ฐ์ฐ์ ์ทจํฉ๋๋ค.
- 0000...1000 ๊ณผ 0000...0111 ์ OR ์ฐ์ฐ๊ฒฐ๊ณผ๋ 0000...1111 ์ ๋๋ค. ์ด ๊ฐ์ ํ์ฌ ๋นํธ๋ก ์ป์ ์ ์๋ ๊ฐ์ฅ ํฐ ๊ฐ์ด ๋ฉ๋๋ค.
- 1๋จ๊ณ์์ ๊ตฌํ ์ด์ง์๋ฅผ ์ค๋ฅธ์ชฝ์ผ๋ก ์ฌํํธํ๊ณ ๋ณด์๋ฅผ ์ทจํ๋ฉด 1๋จ๊ณ์์ ์ฐพ์ ๋ฐ๊ฟ 0์ ์์น์์ ๊ฐ์ฅ ๊ฐ๊น์ด 1์ 0์ผ๋ก ๋ง๋ค๊ณ ๋๋จธ์ง๋ ๊ทธ๋๋ก ์ ์งํ ์ ์์ต๋๋ค. ์ค๋ฅธ์ชฝ์ผ๋ก ํ ์นธ ์ด๋์ํค๋ ์ด์ ๋ ์ด์ง์์์ ๊ธฐ์ค์ ์ผ๋ก๋ถํฐ ์ค๋ฅธ์ชฝ์ ๊ฐ์ฅ ๊ฐ๊น์ด 1์ 0์ผ๋ก ๋ฐ๊ฟ์ผ ๊ธฐ์ค ์ซ์์ ์ฐจ์ด๊ฐ ๊ฐ์ฅ ์ ์ ์ซ์๋ฅผ ๋ง๋ค ์ ์๊ธฐ ๋๋ฌธ์
๋๋ค.
- 1๋จ๊ณ์์ ๊ตฌํ 0000...1000์ ์ค๋ฅธ์ชฝ์ผ๋ก ํ์นธ ์ฌํํธํ๋ฉด 0000...0100์ด ๋ฉ๋๋ค.
- ์ด ๊ฒฐ๊ณผ์ ๋ณด์๋ฅผ ์ทจํ๋ฉด 1111...1011 ์ ์ป์ต๋๋ค.
- ํ์ฌ ๊ฒฐ๊ณผ๊ฐ ์์์ด๊ธฐ ๋๋ฌธ์ ์์ ๋ณํํ๊ธฐ ์ํด์ 2-1๋จ๊ณ์์ ์ป์ ๊ฐ์ฅ ํฐ ๊ฐ๊ณผ AND ์ฐ์ฐ์ ์ํํฉ๋๋ค.
- 0000...1111 ๊ณผ 1111...1011์ AND ์ฐ์ฐ๊ฒฐ๊ณผ๋ 0000...1011 ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ๊ฐ์ด ์ฃผ์ด์ง ์ซ์๋ณด๋ค ํฐ ์ซ์๋ค ์ค ๊ฐ์ฅ ์์, 2๊ฐ ์ดํ์ ๋นํธ ์ฐจ์ด๋ฅผ ๊ฐ์ง๋ ์ซ์๊ฐ ๋ฉ๋๋ค.
์ฝ๋
'๐๐ปโโ๏ธ ํผ-์์ค > ๐ฃ ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ค์ํํธ ์๊ณ ๋ฆฌ์ฆ] ํ๋ก๊ทธ๋๋จธ์ค: ๋ฉ๋ด ๋ฆฌ๋ด์ผ (0) | 2021.08.29 |
---|---|
[์ค์ํํธ ์๊ณ ๋ฆฌ์ฆ] ํ๋ก๊ทธ๋๋จธ์ค: ํํ (0) | 2021.08.27 |
[์ค์ํํธ ์๊ณ ๋ฆฌ์ฆ] ํ๋ก๊ทธ๋๋จธ์ค: ์ต์๊ฐ ๋ง๋ค๊ธฐ (0) | 2021.08.22 |
[์ค์ํํธ ์๊ณ ๋ฆฌ์ฆ] ํ๋ก๊ทธ๋๋จธ์ค: ๋ ๋ฐ๋จน๊ธฐ (0) | 2021.08.21 |
[์ค์ํํธ ์๊ณ ๋ฆฌ์ฆ] ํ๋ก๊ทธ๋๋จธ์ค: ์์ด ๋๋ง์๊ธฐ (0) | 2021.08.16 |
๋๊ธ
์ด ๊ธ ๊ณต์ ํ๊ธฐ
-
๊ตฌ๋
ํ๊ธฐ
๊ตฌ๋ ํ๊ธฐ
-
์นด์นด์คํก
์นด์นด์คํก
-
๋ผ์ธ
๋ผ์ธ
-
ํธ์ํฐ
ํธ์ํฐ
-
Facebook
Facebook
-
์นด์นด์ค์คํ ๋ฆฌ
์นด์นด์ค์คํ ๋ฆฌ
-
๋ฐด๋
๋ฐด๋
-
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
-
Pocket
Pocket
-
Evernote
Evernote