์ฃผ์ ๋ด์ฉ ๋๋ ์ด ๊ธฐ์ฌ์ ๋ด์ฉ
๊ธฐ์ฌ์ ์ฃผ์ ๋ ์๊ฐ์ PLC ํ๋ก๊ทธ๋๋ฐ์
๋๋ค. ShIoTiny ์ฌ๊ธฐ์ ์ค๋ช
๋ ์ค๋งํธ ํ์ ๊ฒฝ์ฐ:
์์ฃผ ์งง๊ฒ ๋ค์๊ณผ ๊ฐ์ ๊ฐ๋
๋งค๋ญ, ัะฒัะทะธ, ๊ฐ๋ฐ, ์๊ฐ์ ํ๋ก๊ทธ๋จ์ ๋ก๋ํ๊ณ ์คํํ๋ ๊ธฐ๋ฅ๋ฟ๋ง ์๋๋ผ ESP8266PLC์ ๊ธฐ๋ณธ์ด ๋๋ ShIoTiny.
์๊ฐ ๋๋ ๋ช ๊ฐ์ง ์กฐ์ง ๊ด๋ จ ์ง๋ฌธ
๋ด ๊ฐ๋ฐ์ ๊ดํ ์ด์ ๊ธฐ์ฌ์์ ์ปจํธ๋กค๋ฌ์ ๊ธฐ๋ฅ์ ๋ํด ๊ฐ๋ตํ๊ฒ ์ค๋ช ํ์ต๋๋ค. ShIoTiny.
์ ๊ธฐํ๊ฒ๋ ๋์ค๋ค์ด ๊ฝค ํฐ ๊ด์ฌ์ ๋ณด์๊ณ , ๋์๊ฒ ์ง๋ฌธ๋ ๋ง์ด ํ๋ค. ์ผ๋ถ ์น๊ตฌ๋ค์ ์ฆ์ ๋์๊ฒ ์ปจํธ๋กค๋ฌ๋ฅผ ์ฌ๊ฒ ๋ค๊ณ ์ ์ํ๊ธฐ๋ ํ์ต๋๋ค. ์๋์, ์ ๋ ์ฝ๊ฐ์ ๋์ ๋ฒ๋ ๊ฒ์ ๋ฐ๋ํ์ง๋ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ ์์ฌ์ ์ํํธ์จ์ด ์ธก๋ฉด์์ ์์ง ๋งค์ฐ ์กฐ์กํ ๊ฒ์ ํ๋งคํ๋ ๊ฒ์ ํ์ฉํ์ง ์์ต๋๋ค.
๋ฐ๋ผ์ ์ ๋ GitHub์ ํ์จ์ด ๋ฐ์ด๋๋ฆฌ์ ์ฅ์น ๋ค์ด์ด๊ทธ๋จ์ ๊ฒ์ํ์ต๋๋ค.
์ด์ ๋ชจ๋ ์ฌ๋์ด ESP-07์ ํ๋์ํ๊ณ ํ์จ์ด๋ฅผ ์ง์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฌ์ง๊ณผ ๋๊ฐ์ ๋ณด๋๋ฅผ ์ ๋ง๋ก ์ํ๋ ์ฌ๋์ด ์๋ค๋ฉด ์ฌ๋ฌ ๊ฐ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ด๋ฉ์ผ๋ก ์์ฑ [์ด๋ฉ์ผ ๋ณดํธ]. ๊ทธ๋ฌ๋ ์ํ์ง์ง ์๋ Ogurtsov๊ฐ ๋งํ๋ฏ์ด "๋๋ ์๋ฌด๊ฒ๋ ์ฑ ์์ง์ง ์์ต๋๋ค!"
์ด์ ์์ ์ ์ดํด ๋ณด๊ฒ ์ต๋๋ค. "๊ฐ ๋ฌด์์ ๋๊น?๋งค๋ญ"(๋ ธ๋) ๋ฐ "ัะพะฑััะธะต"? ํ๋ก๊ทธ๋จ์ ์ด๋ป๊ฒ ์คํ๋๋์?
ํ์์ฒ๋ผ ํ๋ก๊ทธ๋จ์ ๋ค์ด๋ก๋ํ์ฌ ์์๋๋ก ์์ํ๊ฒ ์ต๋๋ค.
ํ๋ก๊ทธ๋จ์ด ๋ก๋๋๋ ๋ฐฉ์
๋ฒํผ์ ๋๋ ์ ๋ ๋ฌด์จ ์ผ์ด ์ผ์ด๋๋์ง๋ถํฐ ์์ํด ๋ณด๊ฒ ์ต๋๋ค. ๊ฐ์ด๋๋ผ๊ฐ ํธ์ง๊ธฐ์์ ์๋๋ก ์๋ฆ๋ค์ด ์ฌ๊ฐํ์ผ๋ก ๊ตฌ์ฑ๋ ํ๋ก ํ๋ก๊ทธ๋จ์ด ์ฅ์น ์์ผ๋ก ๋ ์๊ฐ๋๋ค.
๋จผ์ , ์ฐ๋ฆฌ๊ฐ ๊ทธ๋ฆฐ ๋ค์ด์ด๊ทธ๋จ์ ๊ธฐ๋ฐ์ผ๋ก ํ
์คํธ ํ์์ ์ค๋ช
์ด ์์ฑ๋ฉ๋๋ค.
๋์งธ, ๋ชจ๋ ๋
ธ๋ ์
๋ ฅ์ด ์ถ๋ ฅ์ ์ฐ๊ฒฐ๋์ด ์๋์ง ํ์ธํฉ๋๋ค. "๋งค๋ฌ๋ ค ์๋" ์
๊ตฌ๊ฐ ์์ด์๋ ์ ๋ฉ๋๋ค. ๊ทธ๋ฌํ ์
๋ ฅ์ด ๊ฐ์ง๋๋ฉด ํ๋ก๋ ShIoTiny์ ๋ก๋๋์ง ์์ผ๋ฉฐ ํธ์ง๊ธฐ๋ ํด๋น ๊ฒฝ๊ณ ๋ฅผ ํ์ํฉ๋๋ค.
๋ชจ๋ ๊ฒ์ด ์์กฐ๋กญ๊ฒ ์งํ๋๋ฉด ํธ์ง์๋ ํ๋ก์ ๋ํ ํ ์คํธ ์ค๋ช ์ ํ ๋ฒ์ ํ ๋ ธ๋์ฉ ShIoTiny์ ๋ณด๋ ๋๋ค. ๋ฌผ๋ก ShIoTiny์ ๊ธฐ์กด ํ๋ก๊ฐ ๋จผ์ ์ ๊ฑฐ๋ฉ๋๋ค. ๊ฒฐ๊ณผ ํ ์คํธ ์ค๋ช ์ ํ๋์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋ฉ๋๋ค.
๊ทธ๋ฐ๋ฐ ์ฅ์น์์ ํ๋ก๋ฅผ ์ ๊ฑฐํ๋ ค๋ฉด ๋น ํ๋ก(๋จ์ผ ๋ ธ๋ ์์๋ฅผ ํฌํจํ์ง ์์)๋ฅผ ์ฅ์น์ ๋ก๋ํ๋ฉด ๋ฉ๋๋ค.
์ ์ฒด ํ๋ก ํ๋ก๊ทธ๋จ์ด ShIoTiny PLC์ ๋ก๋๋๋ฉด "์คํ"์ด ์์๋ฉ๋๋ค. ๋ฌด์จ ๋ป์ด์์?
์ ์์ ์ผฐ์ ๋ FLASH ๋ฉ๋ชจ๋ฆฌ์์ ํ๋ก๋ฅผ ๋ก๋ํ๋ ๊ณผ์ ๊ณผ ํธ์ง๊ธฐ์์ ํ๋ก๋ฅผ ์์ ํ๋ ๊ณผ์ ์ ๋์ผํฉ๋๋ค.
๋จผ์ , ์ค๋ช
์ ๋ฐ๋ผ ๋
ธ๋ ๊ฐ์ฒด๊ฐ ์์ฑ๋ฉ๋๋ค.
๊ทธ๋ฐ ๋ค์ ๋
ธ๋ ๊ฐ์ ์ฐ๊ฒฐ์ด ์ด๋ฃจ์ด์ง๋๋ค. ์ฆ, ์ถ๋ ฅ๊ณผ ์
๋ ฅ, ์
๋ ฅ๊ณผ ์ถ๋ ฅ์ ๋งํฌ๊ฐ ์์ฑ๋ฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ด ๋ชจ๋ ํ์์ผ ์ฃผ ํ๋ก๊ทธ๋จ ์คํ ์ฃผ๊ธฐ๊ฐ ์์๋ฉ๋๋ค.
๋๋ ์ค๋ซ๋์ ๊ธ์ ์ผ์ง๋ง FLASH ๋ฉ๋ชจ๋ฆฌ์์ ํ๋ก๋ฅผ "๋ก๋"ํ๋ ๊ฒ๋ถํฐ ๋ฉ์ธ ์ฌ์ดํด์ ์์ํ๋ ๊ฒ๊น์ง ์ ์ฒด ํ๋ก์ธ์ค๋ 60-80๊ฐ ๋ ธ๋๋ก ๊ตฌ์ฑ๋ ํ๋ก์ ๊ฒฝ์ฐ XNUMX์ด๋ ์ฑ ๊ฑธ๋ฆฌ์ง ์์ต๋๋ค.
๋ฉ์ธ ๋ฃจํ๋ ์ด๋ป๊ฒ ์๋ํ๋์? ๋งค์ฐ ๊ฐ๋จํฉ๋๋ค. ๋จผ์ ๊ทธ๋ ์ถํ์ ๊ธฐ๋ค๋ฆฝ๋๋ค ๊ฐ๋ฐ ์ผ๋ถ ๋ ธ๋์์ ํด๋น ์ด๋ฒคํธ๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋์์ด ๊ณ์๋ฉ๋๋ค. ๊ธ์, ์๋๋ฉด ๊ทธ๋ค์ด ShIoTiny์ ์๋ก์ด ๊ณํ์ ์ ๋ก๋ํ ๋๊น์ง.
๋๋ ์ด๋ฏธ ์ฌ๋ฌ ๋ฒ ๋ค์๊ณผ ๊ฐ์ ๊ฒ๋ค์ ์ธ๊ธํ์ต๋๋ค. ๊ฐ๋ฐ, ๋งค๋ญ ะธ ัะฒัะทะธ. ๊ทธ๋ฌ๋ ์ํํธ์จ์ด ๊ด์ ์์ ์ด๊ฒ์ ๋ฌด์์ ๋๊น? ์ค๋ ์ด๊ฒ์ ๋ํด ์ด์ผ๊ธฐํ๊ฒ ์ต๋๋ค.
๋ ธ๋, ์ฐ๊ฒฐ ๋ฐ ์ด๋ฒคํธ
ํ๋ก ํ๋ก๊ทธ๋จ์ ์๋ฅผ ์ดํด๋ณด์ญ์์ค. ShIoTiny๋ค์ด์ด๊ทธ๋จ์ ๋ ธ๋(๋๋ ์์)์ ๋ ธ๋ ๊ฐ์ ์ฐ๊ฒฐ์ด๋ผ๋ ๋ ๊ฐ์ ์ํฐํฐ๋ก๋ง ๊ตฌ์ฑ๋๋ค๋ ๊ฒ์ ์ดํดํฉ๋๋ค.
๋ ธ๋, ํ์ง๋ง ๊ทธ๋ ๋๋ ํ๋ก ์์ ์ผ๋ถ์ ๊ฐ์ ํํ์ ๋๋ค. ํ๋ ๋ฐ์ดํฐ ์์. ์ด๊ฒ์ ์ฐ์ ์ฐ์ฐ, ๋ ผ๋ฆฌ ์ฐ์ฐ ๋๋ ์ฐ๋ฆฌ ๋ง์์ ๋ ์ค๋ฅด๋ ๋ชจ๋ ์ฐ์ฐ์ด ๋ ์ ์์ต๋๋ค. ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ๋ ธ๋์ ์ ๊ตฌ์ ์ถ๊ตฌ๊ฐ ์๋ค๋ ๊ฒ์ ๋๋ค.
์ ๊ตฌ - ๋ ธ๋๊ฐ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๋ ๊ณณ์ ๋๋ค. ์ ๋ ฅ ์ด๋ฏธ์ง๋ ํญ์ ๋ ธ๋์ ์ผ์ชฝ์ ์๋ ์ ์ ๋๋ค.
์ถ๋ ฅ - ๋ ธ๋์ ์ฐ์ฐ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ ธ์ค๋ ๊ณณ์ ๋๋ค. ์ถ๋ ฅ ์ด๋ฏธ์ง๋ ํญ์ ๋ ธ๋์ ์ค๋ฅธ์ชฝ์ ์์นํ ์ ์ ๋๋ค.
์ผ๋ถ ๋ ธ๋์๋ ์ ๋ ฅ์ด ์์ต๋๋ค. ์ด๋ฌํ ๋ ธ๋๋ ๋ด๋ถ์ ์ผ๋ก ๊ฒฐ๊ณผ๋ฅผ ์์ฑํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์์ ๋ ธ๋ ๋๋ ์ผ์ ๋ ธ๋๋ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ ํ๊ธฐ ์ํด ๋ค๋ฅธ ๋ ธ๋์ ๋ฐ์ดํฐ๊ฐ ํ์ํ์ง ์์ต๋๋ค.
๋ฐ๋๋ก ๋ค๋ฅธ ๋ ธ๋์๋ ์ถ๋ ฅ์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ก์ถ์์ดํฐ(๋ฆด๋ ์ด ๋๋ ์ด์ ์ ์ฌํ ๊ฒ)๋ฅผ ํ์ํ๋ ๋ ธ๋์ ๋๋ค. ์ด๋ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ์ง๋ง ๋ค๋ฅธ ๋ ธ๋์์ ์ฌ์ฉํ ์ ์๋ ๊ณ์ฐ ๊ฒฐ๊ณผ๋ฅผ ์์ฑํ์ง๋ ์์ต๋๋ค.
๋ํ ๊ณ ์ ํ ๋๊ธ ๋ ธ๋๋ ์์ต๋๋ค. ์๋ฌด๊ฒ๋ ํ์ง ์์ผ๋ฉฐ ์ ๋ ฅ์ด๋ ์ถ๋ ฅ๋ ์์ต๋๋ค. ๊ทธ ๋ชฉ์ ์ ๋ค์ด์ด๊ทธ๋จ์ ๋ํ ์ค๋ช ์ ๋๋ค.
๋ญ "ัะพะฑััะธะต? " ํ์ฌ ๋ชจ๋ ๋ ธ๋์์ ์๋ก์ด ๋ฐ์ดํฐ์ ์ถํ์ ๋๋ค. ์๋ฅผ ๋ค์ด ์ด๋ฒคํธ์๋ ๋ค์์ด ํฌํจ๋ฉ๋๋ค. ์ ๋ ฅ ์ํ ๋ณ๊ฒฝ(๋ ธ๋ ์ ๋ ฅ), ๋ค๋ฅธ ์ฅ์น(๋ ธ๋)๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ์์ ํฉ๋๋ค. MQTT ะธ UDP), ์ง์ ๋ ๊ธฐ๊ฐ ๋ง๋ฃ(๋ ธ๋ ํ์ด๋จธ ๊ธฐ๋ฅ ะธ Delay) ๋ฑ
์ด๋ฒคํธ๋ ๋ฌด์์ ์ํ ๊ฒ์ธ๊ฐ์? ์, ์ด๋ ๋ ธ๋์์ ์ ๋ฐ์ดํฐ๊ฐ ๋ฐ์ํ๋์ง, ์ ๋ฐ์ดํฐ ์์ ๊ณผ ๊ด๋ จํ์ฌ ์ด๋ค ๋ ธ๋์ ์ํ๋ฅผ ๋ณ๊ฒฝํด์ผ ํ๋์ง ํ์ธํ๋ ค๋ฉด ์ด๋ฒคํธ๋ ์ํ๋ฅผ ํ์ธํ๊ณ ๋ณ๊ฒฝํด์ผ ํ๋ ๋ชจ๋ ๋ ธ๋๋ฅผ ์ฐํํ ๋๊น์ง ๋ ธ๋ ์ฒด์ธ์ ๋ฐ๋ผ "์ ๋ฌ"๋ฉ๋๋ค.
๋ชจ๋ ๋
ธ๋๋ ๋ ๊ฐ์ง ๋ฒ์ฃผ๋ก ๋๋ ์ ์์ต๋๋ค.
์ด๋ฒคํธ๋ฅผ ์์ฑํ ์ ์๋ ๋
ธ๋๋ฅผ ํธ์ถํด ๋ณด๊ฒ ์ต๋๋ค."ํ์ฑ ๋
ธ๋".
์ด๋ฒคํธ๋ฅผ ์์ฑํ ์ ์๋ ๋
ธ๋๋ฅผ ํธ์ถํ๊ฒ ์ต๋๋ค.ํจ์๋ธ ๋
ธ๋".
๋ ธ๋๊ฐ ์ด๋ฒคํธ๋ฅผ ์์ฑํ๋ฉด(์ฆ, ์ถ๋ ฅ์ ์ ๋ฐ์ดํฐ๊ฐ ๋ํ๋จ) ์ผ๋ฐ์ ์ผ๋ก ์ด๋ฒคํธ ์์ฑ๊ธฐ ๋ ธ๋์ ์ถ๋ ฅ์ ์ฐ๊ฒฐ๋ ์ ์ฒด ๋ ธ๋ ์ฒด์ธ์ ์ํ๊ฐ ๋ณ๊ฒฝ๋ฉ๋๋ค.
๋ช ํํ ํ๊ธฐ ์ํด ๊ทธ๋ฆผ์ ์๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
์ฌ๊ธฐ์ ํ์ฑ ๋
ธ๋๋ ์
๋ ฅ1, ์
๋ ฅ2 ๋ฐ ์
๋ ฅ3์
๋๋ค. ๋๋จธ์ง ๋
ธ๋๋ ํจ์๋ธ์
๋๋ค. ํ๋ ๋๋ ๋ค๋ฅธ ์
๋ ฅ์ด ๋ซํ ๋ ์ด๋ค ์ผ์ด ๋ฐ์ํ๋์ง ์๊ฐํด ๋ด
์๋ค. ํธ์์ ๊ฒฐ๊ณผ๋ฅผ ํ๋ก ์ ๋ฆฌํ์ต๋๋ค.
๋ณด์๋ค์ํผ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด ํด๋น ์ด๋ฒคํธ์ ์์ค ๋
ธ๋๋ถํฐ ์ข
๋ฃ ๋
ธ๋๊น์ง ์ฒด์ธ์ด ๊ตฌ์ถ๋ฉ๋๋ค. ์ฒด์ธ์ ์ํ์ง ์๋ ๋
ธ๋์ ์ํ๋ ๋ณ๊ฒฝ๋์ง ์์ต๋๋ค.
ํ๋นํ ์ง๋ฌธ์ด ์๊น๋๋ค. ๋ ๊ฐ ๋๋ ์ฌ๋ฌ ๊ฐ์ ์ด๋ฒคํธ๊ฐ ๋์์ ๋ฐ์ํ๋ฉด ์ด๋ป๊ฒ ๋ ๊น์?
Gleb Anfilov์ ์ํ์ ์ข์ํ๋ ์ฌ๋์ผ๋ก์ ๋๋ ๊ทธ์ ์ฑ "Escape from Surprise"์ ํธ๊ธฐ์ฌ ๋ง์ ์ง๋ฌธ์๋ฅผ ๋ณด๋ด๊ณ ์ถ์ต๋๋ค. ์ด๊ฒ์ด ๋ฐ๋ก '๋์'๊ฐ ๋ฌด์์ ์๋ฏธํ๋์ง, ๊ทธ๋ฆฌ๊ณ ์ด๋ป๊ฒ ์ด์๊ฐ์ผ ํ๋์ง๋ฅผ ์ ์ค๋ช ํด ์ฃผ๋ '์ด๋ฆฐ์์ด๋ค์ ์ํ ์๋์ฑ ์ด๋ก '์ด๋ค.
๊ทธ๋ฌ๋ ์ค์ง์ ์ผ๋ก ๋ชจ๋ ๊ฒ์ด ํจ์ฌ ๊ฐ๋จํฉ๋๋ค. ๋ ๊ฐ ๋๋ ์ฌ๋ฌ ๊ฐ์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด ๊ฐ ์ด๋ฒคํธ ์์ค์ ๋ชจ๋ ์ฒด์ธ์ด ์์ฐจ์ ์ผ๋ก ๊ตฌ์ถ๋๊ณ ์ฐจ๋ก๋ก ์ฒ๋ฆฌ๋๋ฉฐ ๊ธฐ์ ์ ๋ฐ์ํ์ง ์์ต๋๋ค.
ํธ๊ธฐ์ฌ ๋ง์ ๋ ์๊ฐ ์ ๊ธฐํ๋ ์์ ํ ํ๋นํ ๋ค์ ์ง๋ฌธ์ ๋ ธ๋๊ฐ ๋ง์ผ๋ก ์ฐ๊ฒฐ๋๋ฉด ์ด๋ค ์ผ์ด ์ผ์ด๋ ๊ฒ์ธ๊ฐ์ ๋๋ค. ๋๋ ๋น์ ์ ๋๋ํ ์ฌ๋๋ค ์ฌ์ด์์ ๋งํ๋ ๊ฒ์ฒ๋ผ ํผ๋๋ฐฑ์ ์๊ฐํ์ญ์์ค. ์ฆ, ๋ ธ๋ ์ค ํ๋์ ์ถ๋ ฅ์ ์ด์ ๋ ธ๋์ ์ ๋ ฅ์ ์ฐ๊ฒฐํ์ฌ ์ด ๋ ธ๋์ ์ถ๋ ฅ ์ํ๊ฐ ์ ๋ ฅ ์ํ์ ์ํฅ์ ๋ฏธ์น๋๋ก ํฉ๋๋ค. ํธ์ง๊ธฐ์์๋ ๋ ธ๋์ ์ถ๋ ฅ์ ์ ๋ ฅ์ ์ง์ ์ฐ๊ฒฐํ๋ ๊ฒ์ ํ์ฉํ์ง ์์ต๋๋ค. ์๋๋ก. ํ์ง๋ง ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๊ฐ์ ์ ์ผ๋ก๋ ๊ฐ๋ฅํฉ๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์ด ๊ฒฝ์ฐ์๋ ์ด๋ป๊ฒ ๋ ๊น์? ๋๋ต์ ๋งค์ฐ "ํ์ค"ํ ๊ฒ์ ๋๋ค. ์ด๋ค ๋ ธ๋์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค. ๊ทธ๋ฆผ์ ์๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
Input1์ ์
๋ ฅ ์ ์ ์ด ์ด๋ฆฌ๋ฉด ๋
ธ๋ A์ ์์ ์
๋ ฅ์ด 0์ด ๋ฉ๋๋ค. ๋
ธ๋ A์ ์ถ๋ ฅ๋ 0์ด ๋ฉ๋๋ค. ๋
ธ๋ B์ ์ถ๋ ฅ๋ 1์ด ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ง์ง๋ง์ผ๋ก ๋
ธ๋ A์ ํ์ ์
๋ ฅ์ด 1์ด ๋ฉ๋๋ค. ๋ถ๋ช
ํ. ๋ช
ํํ์ง ์์ ๋ถ๋ค์ ์ํด ์๋์์ "AND" ๋ฐ "NOT" ๋
ธ๋๊ฐ ์๋ํ๋ ๋ฐฉ์์ ๋ํ ์ค๋ช
์ ์ดํด๋ณด์ธ์.
์ด์ ์ ๋ ฅ1 ์ ๋ ฅ์ ์ ์ ์ ๋ซ์ต๋๋ค. ์ฆ, ๋ ธ๋ A์ ์์ ์ ๋ ฅ์ ํ๋๋ฅผ ์ ์ฉํฉ๋๋ค. ์ ์ ๊ณตํ์ ์ต์ํ ์ฌ๋๋ค์ ์ค์ ๋ก ๋ ผ๋ฆฌ ์์๋ฅผ ์ฌ์ฉํ์ฌ ๊ณ ์ ์ ์ธ ๋ฐ์ ๊ธฐ ํ๋ก๋ฅผ ์ป์ ๊ฒ์ด๋ผ๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ก ์ ์ผ๋ก ์ด๋ฌํ ํ๋ก๋ ์์ A์ B์ ์ถ๋ ฅ์์ โโ1-0-1-0-1-0... ์ํ์ค๋ฅผ ๋์์ด ์์ฑํด์ผ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ 0-1-0-1-0-1-โฆ ๊ฒฐ๊ตญ ์ด๋ฒคํธ๋ 2-3-2-3-...๋ผ๋ ์์ ๊ทธ๋ฆฌ๋ฉฐ ๋ ธ๋ A์ B์ ์ํ๋ฅผ ์ง์์ ์ผ๋ก ๋ณ๊ฒฝํด์ผ ํฉ๋๋ค!
๊ทธ๋ฌ๋ ์ค์ ๋ก๋ ์ด๋ฐ ์ผ์ด ์ผ์ด๋์ง ์์ต๋๋ค. ํ๋ก๊ฐ ์์์ ์ํ์ ๋น ์ง๊ฑฐ๋ ๋ฆด๋ ์ด๊ฐ ์ผ์ง ๋๋ ๊บผ์ง ์ํ๋ก ์ ์ง๋๊ฑฐ๋ ์ฌ๋ฌ ๋ฒ ์ฐ์์ผ๋ก ์ฝ๊ฐ ์์๊ฑฐ๋ ธ๋ค๊ฐ ๊บผ์ง ์ ์์ต๋๋ค. ๊ทธ๊ฒ์ ๋ชจ๋ ํ์ฑ ๋จ๊ทน์ ๋ ์จ์ ๋ฌ๋ ค ์์ต๋๋ค. ์ด๊ฒ์ด ๋ฐ๋ก ์ด๋ฐ ์ผ์ด ์ผ์ด๋๋ ์ด์ ์ ๋๋ค.
๋ ธ๋ Input1์ ์ด๋ฒคํธ๋ ๋ ธ๋ A, ๋ ธ๋ B ๋ฑ์ ์ํ๋ฅผ ์์ ๊ทธ๋ฆฌ๋ฉฐ ์ฌ๋ฌ ๋ฒ ๋ณ๊ฒฝํฉ๋๋ค. ํ๋ก๊ทธ๋จ์ ์ด๋ฒคํธ์ "๋ฃจํ"์ ๊ฐ์งํ๊ณ ์ด ์นด๋๋ฐ์ ๊ฐ์ ๋ก ์ค์งํฉ๋๋ค. ์ดํ์๋ ์๋ก์ด ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ๋๊น์ง ๋ ธ๋ A์ B์ ์ํ ๋ณ๊ฒฝ์ด ์ฐจ๋จ๋ฉ๋๋ค. ํ๋ก๊ทธ๋จ์ด "์ํ ํ์ ์ ์ค์งํ์ญ์์ค!"๋ผ๊ณ ๊ฒฐ์ ํ๋ ์๊ฐ. - ์ผ๋ฐ์ ์ผ๋ก ์ด๋ ๋ค์ํ ์์ธ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ฉฐ ๋ฌด์์๋ก ๊ฐ์ฃผ๋ ์ ์์ต๋๋ค.
๋งค๋ญ์ ๊ณ ๋ฆฌ์ ์ฐ๊ฒฐํ ๋ ์ฃผ์ํ์ญ์์ค. ํจ๊ณผ๊ฐ ํญ์ ๋ช ํํ์ง๋ ์์ต๋๋ค! ๋น์ ์ด ๋ฌด์์, ์ ํ๊ณ ์๋์ง ์ ์๊ฐํด ๋ณด์ธ์!
์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ ์ ์๋ ๋ ธ๋์ ์์ฑ๊ธฐ๋ฅผ ๊ตฌ์ถํ๋ ๊ฒ์ด ์ฌ์ ํ ๊ฐ๋ฅํฉ๋๊น? ๊ทธ๋ ๋ ํ ์์์ด! ํ์ง๋ง ์ด๋ฅผ ์ํด์๋ ์ด๋ฒคํธ ์์ฒด๋ฅผ ์์ฑํ ์ ์๋ ๋ ธ๋๊ฐ ํ์ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๋ฌํ ๋ ธ๋๊ฐ ์์ต๋๋ค. ์ด๊ฒ์ด "์ง์ฐ์ "์ ๋๋ค. ์๋ ๊ทธ๋ฆผ์์ 6์ด ์ฃผ๊ธฐ์ ์์ฑ๊ธฐ๊ฐ ์ด๋ป๊ฒ ์๋ํ๋์ง ์ดํด๋ณด๊ฒ ์ต๋๋ค.
์์ฑ๊ธฐ์ ํต์ฌ ์์๋ ๋
ธ๋ A(์ง์ฐ์ )์
๋๋ค. ์ง์ฐ์ ์ ์
๋ ฅ ์ํ๋ฅผ 0์์ 1๋ก ๋ณ๊ฒฝํ๋ฉด 1์ด ์ถ๋ ฅ์ ์ฆ์ ๋ํ๋์ง ์๊ณ ์ง์ ๋ ์๊ฐ ํ์๋ง ๋ํ๋ฉ๋๋ค. ์ฐ๋ฆฌ์ ๊ฒฝ์ฐ์๋ 3์ด์
๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก ์ง์ฐ์ ์ ์
๋ ฅ ์ํ๋ฅผ 1์์ 0์ผ๋ก ๋ณ๊ฒฝํ๋ฉด ๋์ผํ 0์ด ํ์ ์ถ๋ ฅ์์ โโ3์ด ๋ํ๋ฉ๋๋ค. ์ง์ฐ ์๊ฐ์ 30๋ถ์ 3์ด ๋จ์๋ก ์ค์ ๋ฉ๋๋ค. ์ฆ, ๊ฐ XNUMX์ XNUMX์ด๋ฅผ ์๋ฏธํฉ๋๋ค.
์ง์ฐ ๋ผ์ธ์ ํน๋ณํ ํน์ง์ ์ง์ฐ ์๊ฐ์ด ๋ง๋ฃ๋ ํ์ ์ด๋ฒคํธ๋ฅผ ์์ฑํ๋ค๋ ๊ฒ์ ๋๋ค.
์ฒ์์ ์ง์ฐ์ ์ ์ถ๋ ฅ์ด 0์ด์๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ๋ ธ๋ B(์ธ๋ฒํฐ)๋ฅผ ํต๊ณผํ ํ ์ด 0์ 1๋ก ๋ฐ๋๊ณ ์ง์ฐ์ ์ ์ ๋ ฅ์ผ๋ก ์ด๋ํฉ๋๋ค. ๋น์ฅ ์๋ฌด ์ผ๋ ์ผ์ด๋์ง ์์ต๋๋ค. ์ง์ฐ ๋ผ์ธ์ ์ถ๋ ฅ์์๋ 0์ผ๋ก ์ ์ง๋์ง๋ง ์ง์ฐ ์๊ฐ์ ์นด์ดํธ๋ค์ด์ด ์์๋ฉ๋๋ค. 3์ด๊ฐ ์ง๋ฌ์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ง์ฐ์ ์ด ์ด๋ฒคํธ๋ฅผ ์์ฑํฉ๋๋ค. ์ถ๋ ฅ์์๋ 1์ด ๋ํ๋ฉ๋๋ค. ์ด ์ฅ์น๋ ๋ ธ๋ B(์ธ๋ฒํฐ)๋ฅผ ํต๊ณผํ ํ 0์ผ๋ก ๋ฐ๋๊ณ ์ง์ฐ ๋ผ์ธ์ ์ ๋ ฅ์ผ๋ก ์ด๋ํฉ๋๋ค. 3์ด๊ฐ ๋ ์ง๋๊ณ ... ํ๋ก์ธ์ค๊ฐ ๋ฐ๋ณต๋ฉ๋๋ค. ์ฆ, 3์ด๋ง๋ค ์ง์ฐ์ ์ถ๋ ฅ ์ํ๊ฐ 0์์ 1๋ก ๋ณ๊ฒฝ๋ ๋ค์ 1์์ 0์ผ๋ก ๋ณ๊ฒฝ๋ฉ๋๋ค. ๋ฆด๋ ์ด๊ฐ ํด๋ฆญํฉ๋๋ค. ๋ฐ์ ๊ธฐ๊ฐ ์๋ ์ค์ ๋๋ค. ํ์ค ์ฃผ๊ธฐ๋ 6์ด์ ๋๋ค(์ถ๋ ฅ 3์์ 3์ด, ์ถ๋ ฅ XNUMX์์ XNUMX์ด).
๊ทธ๋ฌ๋ ์ค์ ํ๋ก์์๋ ์ผ๋ฐ์ ์ผ๋ก ์ด ์์ ๋ฅผ ์ฌ์ฉํ ํ์๊ฐ ์์ต๋๋ค. ์ธ๋ถ ์์ด ์๋ฒฝํ๊ฒ ์ฃผ์ด์ง ๊ธฐ๊ฐ ๋์ ํ์ค ์ํ์ค๋ฅผ ์์ฑํ๋ ๋ฐ ๋์์ด ๋๋ ํน์ ํ์ด๋จธ ๋ ธ๋๊ฐ ์์ต๋๋ค. ์ด ํ์ค์์ "XNUMX"๊ณผ "XNUMX"์ ์ง์ ์๊ฐ์ ์ฃผ๊ธฐ์ ์ ๋ฐ๊ณผ ๊ฐ์ต๋๋ค.
์ฃผ๊ธฐ์ ์์ ์ ์ค์ ํ๋ ค๋ฉด ํ์ด๋จธ ๋ ธ๋๋ฅผ ์ฌ์ฉํ์ธ์.
"XNUMX"๊ณผ "XNUMX"์ ์ง์ ์๊ฐ์ด ๋์ผํ ๋์งํธ ์ ํธ๋ฅผ "์ฌํ"์ด๋ผ๊ณ ํฉ๋๋ค.
๋ ธ๋ ๊ฐ์ ์ด๋ฒคํธ๊ฐ ์ ํ๋๋ ๋ฐฉ์๊ณผ ํ์ง ๋ง์์ผ ํ ์ฌํญ์ ๋ํ ์ง๋ฌธ์ ์กฐ๊ธ ๋ ๋ช ํํ๊ฒ ์ค๋ช ํ์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค.
๊ฒฐ๋ก ๋ฐ ์ฐธ๊ณ ์๋ฃ
๊ธ์ด ์งง์์ก์ง๋ง, ์ด ๊ธ์ ๋ ธ๋์ ์ด๋ฒคํธ์ ๊ดํด ์ ๊ธฐ๋ ์ง๋ฌธ์ ๋ํ ๋ต๋ณ์ ๋๋ค.
ํ์จ์ด๊ฐ ๊ฐ๋ฐ๋๊ณ ์๋ก์ด ์์ ๊ฐ ๋์ค๋ฉด ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ๋ฒ์ ๋ํด ๊ธ์ ์ฐ๊ฒ ์ต๋๋ค. ShIoTiny ์ฌ๋๋ค์๊ฒ ํฅ๋ฏธ๋ก์ธ ์ ์๋ ์์ ๊ธฐ์ฌ์ ๋๋ค.
์ด์ ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ค์ด์ด๊ทธ๋จ, ํ์จ์ด, ์์ , ๊ตฌ์ฑ ์์ ์ค๋ช
๋ฐ ๋ชจ๋ ๊ฒ
์ง๋ฌธ, ์ ์, ๋นํ - ์ฌ๊ธฐ๋ก ์ด๋ํ์ธ์: [์ด๋ฉ์ผ ๋ณดํธ]
์ถ์ฒ : habr.com