๊ทธ๋ํฝ์ ํฝ์ ๋ก ํ ๊ฑฐ๊ตฌ, if๊ฐ ๊ฐ์ธ์ ์ผ๋ก ๊ต์ฅํ ํธํด์ ์บ๋ฆญํฐ ์กฐ์๋ถํฐ, ์ด๊ฑฐ์ ๊ฑฐ ํธ๋ฆฌ๊ฑฐ ๋ค๋ if๋ก ์ฝ๋๊ตฌํ์ค์ธ๋ฐ,
if๋ฌธ ๋ง์ด์ฐ๋ฉด ๋ญ ์ฑ๋ฅ์ ๋ฌธ์ ๋ง์?
์๋๋ฉด ์ธ๋์์ญ์์๋ ๋ฑํ ์๊ด ์๋์ ๋?
ํ๋์์ ์ดํ๋ฌธ์ด ๋ช์ญ๊ฐ์ฉ ์ค์ฒฉ๋๊ธฐ๋ผ๋ํจ?? - dc App
๊ทธ์ ๋์ฌ์ผ ์ฑ๋ฅ์ ๋ฌธ์ ๊ฐ์๊ธฐ๊ณ ๊ทธ์ ๋๊ธ ์๋๋ฉด ๋ฌธ์ ์๋ค ์ด๊ฑฐ์ง?
์๋ ์ฌ์ค ๋๋๋ชจ๋ฆ - dc App
์์ด์จ ใ ใ ใ ใ ใ ใ ใ ใ
ใ ใ ใ ์ใ ใ
์๋ ์๋ if else if else if ์ด๋ ๊ฒ ์ฃผ์ฑ ๋ถ์ด๋ฉด ์๋์ ํ๊ฐ ์๊ฒจ์ switch๋ฅผ ๊ถ์ฅํ๋ค๊ณ ํ๋๋ฐ ์ง๊ธ์ ๊ทธ๋ณด๋ค ์ฝ๋ ๊ด๋ฆฌํ๊ธฐ ๋ถํธํด์ ์์ฐ๋ ๋ถ์๊ธฐ์ else if๊ฐ ๋ง์ผ๋ฉด ๋๋ฌด ์ง์ ๋ถํจ
์ฝ๋ ๊ฐ๋ ์ฑ ๋ณต์กํด์ ธ๋ ์ ๊ด๋ฆฌํ ์์ ์์ผ๋ฉด ๊ฑ ํด๋ ๋ฌด๋ํ๋ค ์ด๊ฑฐ์ง?
์ฑ๋ฅ์ ์ธ๊ฑด ์ง๊ธ๊ฐ์ ์คํ pc ์ฝ์๋ฑ์์ ๋ฌธ์ ์ ์๋๋๊น?
๋ง์ฆ ๊ทธ๋ฅ ์ง๊ธ์ ํธํ ๋ฐฉ๋ฒ๋๋ก ํ๋ฉด์ ๊ตฌํ ์์ฒด์ ์ฌ๋ฏธ๋ฅผ ๋๋ผ๋ ๊ฒ๋ ์ข์ ํ๋ค๋ณด๋ฉด ์๋ก์ด ์ฝ๋ฉ ํจํด๋ค์ ๋ฐฐ์ฐ๊ฒ ๋ ํ ๊ณ ๊ทธ๋ผ ์ธ์ ๊ฐ ์ ์ด๋์ ์ ์์ฐ๋๊ตฌ๋ ํ ๋๊ฐ ์ฌ๊ฑฐ์
์กฐ์ธ ๊ณ ๋ง์ ๋คํ์ด๋ค.ใ ใ ใ ใ ใ
๋ญ์ค์์น ๊ถ์ฅ์ด์ผ ์ค์์น๋ if else๋ ์๋์ฐจ์ด ์๋ค
์ปดํ์ผ๋ฌ๊ฐ ์ง๋์ ์ด์ ์ฝ๋ ๋ณด๋ฉด์ ์ค์์น๊ฐ ๋ ๋น ๋ฅธ ๊ฑด ๋ง๋๋ฐ ใ ใ ใ ์ค์์น๋ฉด ๋น๊ต->์ ํ๊ณ if else if else if else if else if else ์ด๋ ๊ฒ ํด๋์ผ๋ฉด ์ ๋ถ ๋น๊ตํ๋ค. cpu๊ฐ 1์ด๋น ์คํํ๋ ๋ช ๋ น์ด ์๋ฅผ ๋ณด๋ฉด ๋ฌด์ํ ๋งํ ์ ๋๊ธด ํ์ง๋ง ์๋ฐํ ๋ฐ์ง๋ฉด ์ค์์น๊ฐ ๋ ๋น ๋ฆ ์ปดํ์ผ๋ฌ๋ ๋ชจ๋ฅด๊ณ ์ด์ ๋ธ๋ฆฌ๋ ๋ชจ๋ฅด๋ ์ฌ๋์ด๋ฉด ๋ญ ๋๊ฐ๋ค๊ณ ์๊ฐํ ์๋ ์๊ฒ ์ง
๋ด๊ฐ ๋งํ๊ฑด ๊ฒ๋ ์ค๋์ ์๊ธด๋ฐ.. ๋ ์ด์๋ ๋ญ ํ์ฌ๊ฐ ๋์ค ์์ ์ ์ต์ ํ๋๋ฌธ์ ์น ๋ค ์ค์์น๋ก ๋ฐ๊ฟจ๋ค๋ ์ผํ๊ฐ ์๋๋ผ๊ตฌ.. ์ง๊ธ์ ํฐ ์๋ฏธ์๊ฒ ์ง ๋ด ์ปด์ผ๋ก 10๊ฐ ํญ๋ชฉ์ if๋ switch๋ก 10๋ง๋ฒ ๋๋ ค๋ณด๋ ์ต๊ณ 0.001์ด ์ ๋ ์ฐจ์ด๋๋ค
https://www.geeksforgeeks.org/switch-vs-else/
์ค์์น๋ณด๋ค ๋๋ฆฌ๋ค๊ณ ํ๋๊ฑด ์ค์์น๋ฌธ๊ณผ ์ดํ๋ฌธ์ ์ฐจ์ด์ ์ ์ค๋ช ํ ๋ ๋ง์ด ๋๋ ์์๊ณ , ์ดํ๋ฌธ ๋๋ฐฐ์ ๊ฐ์ฅ ํฐ ๋ฌธ์ ์ ์ ๊ฐ๋ ์ฑ์. ์ฝ๋ฐฑ ์ง์ฅ์ด๋ผ๋ ๋ง์ด ์๋๋ฐ, ์ดํ๋ฌธ์ด๋ผ๋ ์ค์ฒฉ ๋ง์ด ๋๋ฉด ๋ค์ฌ์ฐ๊ธฐ ์ง์ฅ์ด ๋๋๊ฑด ๋ง์ฐฌ๊ฐ์ง์. ์ ๋นํ ์์น์ ๊ณต์์ ์ด์ฉํด์ ๋์ธ ์ค์ด๋ฉด ๋๋๋ ์์ ์ ์ดํ๋ฌธ์ผ๋ก ์ด๋ช์ค์ฉ ์จ์ ์ฝ๋ฉํ๋ ๊ฒฝ์ฐ๋ ๋ดค๋๋ฐ ์ ๋ง ์ฝ๊ธฐ ์์ข์
๋ค๋ค ๊ฐ์๋ฆฌํ๋๋ฐ if๋ฌธ์ ํผํ๋ผ๋๊ฑด ์ค์์น๋ฌธ์ ์ฐ๋ผ๋๊ฒ ์๋์ผ ๋ฐฐ์ด๋ก ๋ถํ์ํ ๋ ผ๋ฆฌ ์ฐ์ฐ์ ํผํ๋ผ๋ ์๊ธฐ๋ค. C์ธ์ด ํจ์ ํฌ์ธํฐ ๊ธฐ์ค์ผ๋ก ์ค๋ช ํ๋ค. ์ ๋ํฐ๋ ์์ง์์ฒด๊ฐ ใ ใ ๊ฐ์ด ๋๊ฑด๋ฐ ์๋ด ์๋์ค๋ธ ์ํฌ๋ํํธ์ ๋จ์ถํค ๋ช๊ฐ์๋? 100๊ฐ์ฏค ์๋ ๊ทธ๋ ์ง? ๊ทธ๋ผ input get key ํ๊ณ ๋จ์ถํค ๊ฐ์๋งํผ if๋ฌธ์ด ์ ๋ฐ์ดํธ๋ฌธ์์ ๋์๊ฐ์ง?
์ ๋ํฐ๋ ์ด์ฉ์์๊ณ ์๋ ์ธํ์ ๋ฐ์๋ ํจ์ํฌ์ธํฐ์ ๋ฐฐ์ด์ ๋ง๋ ๋ค์์ ์ธ๋ฑ์ค๋ฅผ input๊ฐ์ enum์ผ๋ก ๋ฐ์์ ํด๋น ๋ฐฐ์ด์ ํจ์๋ฅผ ์คํํ๋ฉด ๋จ์ถํค ๊ฐ์๋งํผ if๋ฌธ์ด ์กด์ฌํ๋๊ฒ ์๋๋ผ ํด๋น ๋ฐฐ์ด์ด null์ด์๋๋ผ๋ ifํ๋๋ง ์กด์ฌํ์์ ์ด๋ ๊ฒ if๋ฌธ ํผํ๋ผ๋ ๋ง์ด์ผ
์ง์ง์๋ฐ ์ ํ๋ฅ ๊ต์๋คํํ ์ด์ํ๊ฑฐ๋ฐฐ์์ ์ค์์น๊ฐ ๋๋น ๋ฅด๋ ๋ญ๋ ์ง๋ํ๋ค ใ ใ ใ ใ ์ผ๋งํผ ๋น ๋ฅธ์ง ๋งํด๋ด๋ผ
๊ทธ๋ฐ์๋ getํจ์๋ ํ๋กํผํฐ์ if๋ฌธ ์ฒ๋ฐ์ง๋ง๊ณ Get์ Get์ญํ ๋ง ํด์ผํ๋๋ฐ ๊ฑฐ๋ฐ๊ฐ ์ฐ์ฐ ํธํ๊ฒํ๋ค๊ณ ๊ณต์์ด๋ if๋ฌธ ์ด๋ฐ๊ฑฐ ํ์ง๋ง๋ผ๊ณ ๊ทธ๋ฐ๊ฒ ํ๋ ์ ๋ฎ์ถ๋๊ฑฐ์ผ
์๋ ์ ๊ทธ๋ฌ๋ค๋๋ผ ํ๋๊ฑด๋ฐ ์ ํ๋จ - dc App
์๋ ์ด์๋๋ผ ์ง๊ธ ํด๋น๋๋ ์๊ธฐ๋ค ์๋ง
๋ญ ์จ๊ฐ๋ถ์ฌ์ ๋ค๋ถ๋ฆฌ๋๋ ํฑ์์ if๋ฌธ ์๋๊ฒ ์ฌ๊ฐํ๋ค๋๊ฑด ์ธ์ง๋ ๋ชปํ๋ ์ฐธใ ใ ใ ์ด์ฏค์์ ์์ ๊ฒ์์ ๊ทธ์ ๋๋ ๊ด์ฐฎ๋ค ์ด๋ด ํฉ๋ฆฌํ๋์ค์ง
์ผ๋งํผ ๋น ๋ฅธ์ง๋ ๋๊ฐ ์ฝ์คํ๋ง ๋ด๋ ๋์ค๋๋ฐ ๋ญ ๋งํด๋ด ์ดํ๊ฐ O(1)์ O(n)์ผ๋ก ๋ง๋ค ์ํฉ์ด ๋์ค๊ธฐ ํ๋ค์ด์ ๋น ์คํ๊ธฐ๋ก๋ ์ฐจ์ด ์๋ค๊ณ ๋ด์ผํ๋๊ฒ๊น์ง ๋ง๋๋ฐ ์ด๋ก ์ ๋ค์ค๊ฐ์ฒ๋ฆฌ๋ ์ค์์น๊ฐ ์กฐ๊ธ์ด๋๋ง ๋ ๋น ๋ฅผ์๋ฐ์ ์๋ค
14.38 ์ด ์ค๋ช ๊น๋ํ๊ฒ ์ํ๋ค ใ ใ ์ ํ๋ฅ ์ด๋ ๋ญ๋ ํ๋๋ ์ ์ ์ ๋ ๋ชจ๋ฅด๋ ๊ฑด ์์ ์ด์๊ณ ~
์ ์๋ผ๊ฐ ์๋ ์๋ ์ต์ ํ๋๋ฌธ์ ๊ทธ๋ ๊ฒ ์ฌ์ฉํ๋ค๋๊ฒ ๋ญ๊ฐ ๋ฌธ์ ๋ ๊ฐ์ข๋ ๋์๋ ์๋๋ ์๋ผ๊ฐ ์ด๋ ์ง ํ๋ ์๋๊ฑฐ ๋์๋ค ์ถ์ผ๋ ์๋ถํฐ ๋ฐ์ผ๋ฉด์ ๊ฐ์ง๋์ด๋ ์ผ๋ง๋ ํ์ค์์ ๋ณ์ ์ทจ๊ธ ๋ฐ์ผ๋ฉด ๋์์์ ์ด๋ณด์ ์๋๋ก ์ข๋ถ์ฌ ๋ถ๋ฆฌ๋๊ฑฐ๋ ์์กด๊ฐ ๋ฐ๋ฅ์ธ ์ฐ๋ฐ์๋ผ์ผ
์ ์ธ์ ์ด ใ ใ ๋๋ค์ ใ ใ ๋ ํ์ก์ด๋ผ ๋น๋ถ๊ฐ์ ๊ฑ if ์ธ๊ฑฐ๋๋ง์ฌ ใ ใ
if๋ฌธ๋ณด๋จ ๋ฐ๋ณต๋ฌธ ํ์๋ ํจ์ ์์ฒด ์ฑ๋ฅ์ด ์ค์ํ๊ฑฐ ๊ฐ์.
if๋ฌธ ์ ๊ฒฝ ์ธ ์ ์์ผ๋ฉด ์ข์๋ฐ ์ผ๋จ์ ์ค๋ณต๋๊ฑฐ๋ ์ธ๋ชจ์๋ ๋ฐ๋ณต๋ฌธ ์ฝ๋ ์ค์ด๋๊ฒ ์ข์. ํ๋ฒ ์ฐ์ฐํ๊ณ ์ฌํ์ฉํ๋ ์ฝ๋๋ฉด ํจ์ ํธ์ถ ํ๋ฒ๋ง ํด์ ๋ณ์์ ๋ด๊ณ ์ฐ๋๊ฐ
๊ทธ๋ฆฌ๊ณ ์์์ ๋งํ๊ฑฐ์ฒ๋ผ if๋ฌธ์ ์๋ชป ์ฐ๋ฉด ๊ฐ๋ ์ฑ ์ง๋์ด๋ผ if๋ฌธ์ ๋ฐ๋ณต๋ฌธ์ด๋ ํจ์๋ฅผ ๋น ์ ธ๋๊ฐ๋ ์ฝ๋๋ง ์น๊ณ ๋ก์ง์ ์๋์ ์ฒ๋ฆฌํ๋๊ฒ ์ข์
๋ณ๊ฑธ๊ฐ์ง๊ณ ๋ค์ธ์ฐ๋ค
๋๋ณด๊ธฐ๊ฐ ์ข์์ 3๊ฐ ์ด์์ case๋ฉด switch ์ฐ๊ณ ๋๋จธ์ง if๋ฌธ
If๋ก ์ฑ๋ฅํ๋ฝ์ด ์ฌํด์ง๋ ค๋ฉด ์์ฒญ๋๊ฒ ๋ง์์ ธ์ผํ๋๋ฐ ๊ทธ์ ์ ๋์ ๋๊ฐ ์ฝ๋ ๋ณต์ก์ฑ์ ๋ชป๋ฒํ
์ฝ๋๊ฐ ๋ณต์กํด์ง๊ณ ๋์ค์ ๋ณด์ํ ๋ ๊ณผ๊ฑฐ์ ์์ ๊ณผ ์ธ์ฐ๊ณ ์ถ์ผ๋ฉด if else if else ํ๋๊ฑฐ๊ณ ์๋๋ฉด ์ต์ ํ ๋ฐฉ๋ฒ์ ์ฐพ์๋ด
์ฝ๋ ์งค๋ ์ด์ง ๊ฒ์ผ๋ฅด๊ฒ ๋์ ์๊ฐ์ ์ข ํด๋์ผ๋ฉด ๋์ค์ ํธํด์ง
์ด์๋ผ๋ค์ ์๊ฐ๋ณต์ก๋๋ฅผ ์๋ณด๊ณ if ๊ฐ์๋ฅผ ๋ณด๊ณ ์์๋ค
์๊ฐ ๋ณต์ก๋๊ฐ ๋ญ์?
์๊ฐ๋ณต์ก๋ ๋ง๋ฐฐ์ ๋? ใ ใ if ๊ฐ์๋ก ๊ณ ๋ฏผํ๋ ์ด๋ณดํํ ๋ญ ์๋ํ๊ฑฐ ์๋ ค์ค๋ค๊ณ ํ์ธ๋ใ ใ
If์ ์๊ฐ๋ณต์ก๋๋ฅผ ์ ๋ฐ์ ธ ๋ณ์ ์ธ๊ฐ If n๊ฐ๋ฉด O(n)์ด๋ผ๊ณ ํ ๊ฑฐ๋
๊ทธ๋๊น if ์๋ฏธ๋ ์๋๊ฑธ ์ฑ๋ฅ ๋ฐ์ง๋๊น ์๊ฐ๋ณต์ก๋ ์๊ธฐํ๊ฑฐ์์ ใ ใ
๊ทธ๋ฆฌ๊ณ if ์กฐ๊ฑด์์ด ํจ์๋ผ๋ฉด ๊ทธ ํจ์์ ์๊ฐ๋ณต์ก๋๋ ์๋ฐ์ง๋?
๋ณ์ ์๋ผ ์์ง๋ผ๊ณ ์ง๋ํ๋ค ใ ใ ใ ใ ์๊ฐ๋ณต์ก๋ํ๋ น์ด ์๋ฏธ์๋ค๋๊น ์๊ทผ์ฌ์ฉ if์๋ฏธ์๋ค๊ณ ์ข์๋ณ๊ฒฝํ๋๊ฑฐ๋ณด์ ใ ใ ใ ใ ใ
๊ทธ๋ฆฌ๊ณ ๋ด๋ถํ๋จ์ ๋น์ฐํ ๋ ผ์ธ์ง ๋ญ ์ฎ๊ณ ์์ด
ใ ใ ใ ๋ณ์ if ๊ฐ์๋ฐ์ง๋ ๋ณ์ ๋ค ํ๋ฐ์ํ๋ใ ใ ใ
๋ค๋ค ๋๊น์ธ๊ฐ
๋ญ cpu ๋ถ๊ธฐ์์ธก์ด๋ ๋ญ๋ ์ด๋ฐ ๊ฑฐ ์๊ธด ํ๋ฐ ๊ทธ๋ฅ ๊ฐ๋ ์ฑ๋ง ์ข๊ฒ ์ง๋ผ
for๋ฌธ ์ด๋ผ๋ฉด ๋ชจ๋ฅผ๊น if๋ฌธ ๊ฐ์ง๊ณ ๋ ๋จธ
์ฌ์ค์ ์๋์ ์ํฅ ์๋ค๊ณ ์๊ฐํด๋ ๋ฌด๋ฐฉํ ๋ฏ
ํ์ํ๋ฉด ์จ์ผ์ง.
ใ ใ ใ ใ ์ด ๊ธ ๋ณด๊ณ ์์ผ๋ฉด ๋ฑ์ฐํ๋๋ฐ ์ด๋ํ๊ฐ ๋ซ๋ค ๋ฑ์ฐํ๊ฐ ๋ซ๋ค ์ด์ง๋ํ๋๊ฑฐ ๊ฐ๋ค ์ ๋ง ์ค์ํ๊ฑด ๊ฑท๋ ๋ค๋ฆฌ๋ ์ฒด๋ ฅ์ธ๋ฐ