MCP๋กœ ์—ฐ๊ฒฐ โ†’

๊ณ„์‚ฐ ์ž…๋ ฅ

๊ณต์‹

๊ด‘๊ณ 

๊ฒฐ๊ณผ

๋ฃฌ ๊ฒ€์‚ฌ
VALID
์ž๋ฆฟ์ˆ˜ 11
๋ฃฌ ํ•ฉ๊ณ„ 70
ํ•ฉ๊ณ„ mod 10 0
๊ฒ€์ฆ ์ˆซ์ž (๋งˆ์ง€๋ง‰ ์ž๋ฆฌ) 3

๋ฃฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ž€?

๋ฃฌ(Luhn) ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ 'mod 10' ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ผ๊ณ ๋„ ๋ถˆ๋ฆฌ๋ฉฐ, 1954๋…„ IBM ๊ณผํ•™์ž ํ•œ์Šค ํŽ˜ํ„ฐ ๋ฃฌ(Hans Peter Luhn)์ด ๊ณ ์•ˆํ•œ ๊ฐ„๋‹จํ•œ ์ฒดํฌ์„ฌ ๊ณต์‹์ž…๋‹ˆ๋‹ค. ์‹ ์šฉ์นด๋“œยท์ฒดํฌ์นด๋“œ ๋ฒˆํ˜ธ, ํœด๋Œ€ํฐ์˜ IMEI ์ผ๋ จ๋ฒˆํ˜ธ, ๊ทธ๋ฆฌ๊ณ  ์—ฌ๋Ÿฌ ๊ตญ๊ฐ€์˜ ์‹ ๋ถ„ ์‹๋ณ„๋ฒˆํ˜ธ ๊ฐ™์€ ์‹๋ณ„ ๋ฒˆํ˜ธ์˜ ์œ ํšจ์„ฑ์„ ํ™•์ธํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ํ•œ ์ž๋ฆฌ ์˜ค๋ฅ˜์™€ ๋Œ€๋ถ€๋ถ„์˜ ์ž๋ฆฟ์ˆ˜ ๋’ค๋ฐ”๋€œ(์ „์œ„) ์‹ค์ˆ˜๋ฅผ ์žก์•„๋‚ด์ง€๋งŒ, ์ด๋Š” ์•”ํ˜ธํ•™์  ๋ณด์•ˆ ์ˆ˜๋‹จ์ด ์•„๋‹ˆ๋ผ ๊ธฐ๋ณธ์ ์ธ ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ ๊ฒ€์‚ฌ์ผ ๋ฟ์ž…๋‹ˆ๋‹ค.

๊ณ„์‚ฐ๊ธฐ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

ํ™•์ธํ•˜๊ณ  ์‹ถ์€ ๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅ๋ž€์— ์ž…๋ ฅํ•˜์„ธ์š”(๊ณต๋ฐฑ๊ณผ ํ•˜์ดํ”ˆ์€ ์ž๋™์œผ๋กœ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค). ๊ณ„์‚ฐ๊ธฐ๋Š” ๊ฐ ์ž๋ฆฟ์ˆ˜๋ฅผ ์ฒ˜๋ฆฌํ•˜์—ฌ ๋ฃฌ ์ฒดํฌ์„ฌ์„ ์ ์šฉํ•œ ๋’ค, ํ•ด๋‹น ๋ฒˆํ˜ธ๊ฐ€ ์œ ํšจํ•จ(VALID)์ธ์ง€ ์œ ํšจํ•˜์ง€ ์•Š์Œ(INVALID)์ธ์ง€ ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ํ•จ๊ป˜ ๋ˆ„์  ํ•ฉ๊ณ„, ํ•ฉ๊ณ„๋ฅผ 10์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€, ๋งˆ์ง€๋ง‰ ๊ฒ€์ฆ ์ˆซ์ž๋„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

๊ณต์‹ ํ’€์ด

์ˆซ์ž๋ฅผ ์˜ค๋ฅธ์ชฝ์—์„œ ์™ผ์ชฝ์œผ๋กœ ์ฝ์Šต๋‹ˆ๋‹ค. ๋งจ ์˜ค๋ฅธ์ชฝ(๊ฒ€์ฆ) ์ž๋ฆฌ๋Š” ๊ทธ๋Œ€๋กœ ๋‘๊ณ , ๋‘ ๋ฒˆ์งธ ์ž๋ฆฌ๋งˆ๋‹ค 2๋ฅผ ๊ณฑํ•ฉ๋‹ˆ๋‹ค. 2๋ฅผ ๊ณฑํ•œ ๊ฐ’์ด 9๋ณด๋‹ค ํฌ๋ฉด 9๋ฅผ ๋บ๋‹ˆ๋‹ค(๋‘ ์ž๋ฆฟ์ˆ˜๋ฅผ ๋”ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์˜ˆ: \(8 \times 2 = 16 \to 1 + 6 = 7\)). ์ด๋ ‡๊ฒŒ ๋‚˜์˜จ ๋ชจ๋“  ๊ฐ’์„ ๋”ํ•ฉ๋‹ˆ๋‹ค. ํ•ฉ๊ณ„๊ฐ€ 10์œผ๋กœ ๋‚˜๋ˆ„์–ด๋–จ์–ด์ง€๋ฉด ๊ทธ ๋ฒˆํ˜ธ๋Š” ๋ฃฌ ๊ฒ€์‚ฌ๋ฅผ ํ†ต๊ณผํ•ฉ๋‹ˆ๋‹ค.

$$\text{Valid} \iff \left(\sum_{i=0}^{n-1} f(d_i)\right) \bmod 10 = 0 \\[1.5em] \text{where}\quad \left\{ \begin{aligned} d_i &= i\text{-th digit of } \text{Number} \text{ (from right)} \\ f(d_i) &= \begin{cases} d_i & i \text{ even} \\ 2d_i - 9\,[2d_i>9] & i \text{ odd} \end{cases} \end{aligned} \right.$$

๋ฃฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ ์˜ค๋ฅธ์ชฝ๋ถ€ํ„ฐ ํ•œ ์ž๋ฆฌ ๊ฑด๋„ˆ ์ˆซ์ž๋ฅผ ๋‘ ๋ฐฐ๋กœ ๋งŒ๋“ค์–ด ํ•ฉ์‚ฐํ•˜๋Š” ๊ณผ์ •์„ ๋ณด์—ฌ์ฃผ๋Š” ํ”Œ๋žซ ๋‹ค์ด์–ด๊ทธ๋žจ
๋ฃฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์˜ค๋ฅธ์ชฝ์—์„œ๋ถ€ํ„ฐ ๋‘ ๋ฒˆ์งธ ์ž๋ฆฟ์ˆ˜๋งˆ๋‹ค ๋‘ ๋ฐฐ๋กœ ๋งŒ๋“  ํ›„ ๋ชจ๋“  ์ž๋ฆฟ์ˆ˜๋ฅผ ๋”ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์ œ๋กœ ๋ณด๊ธฐ

๋ฒˆํ˜ธ 79927398713์„ ์‚ดํŽด๋ด…์‹œ๋‹ค. ์˜ค๋ฅธ์ชฝ์—์„œ๋ถ€ํ„ฐ ๋‘ ๋ฒˆ์งธ ์ž๋ฆฌ๋งˆ๋‹ค 2๋ฅผ ๊ณฑํ•˜๊ณ  9๋ฅผ ๋„˜๋Š” ๊ฐ’์„ ์ค„์—ฌ ์ •๋ฆฌํ•˜๋ฉด, ์กฐ์ •๋œ ์ž๋ฆฟ์ˆ˜๋“ค์˜ ํ•ฉ๊ณ„๋Š” 70์ด ๋ฉ๋‹ˆ๋‹ค. \(70 \bmod 10 = 0\) ์ด๋ฏ€๋กœ ์ด ๋ฒˆํ˜ธ๋Š” ์œ ํšจํ•ฉ๋‹ˆ๋‹ค.

๋ฃฌ ๊ฒ€์‚ฌ๊ฐ€ mod 10 ํ…Œ์ŠคํŠธ๋กœ ๋๋‚˜ ์œ ํšจ ๋˜๋Š” ๋ฌดํšจ๋กœ ๋ถ„๊ธฐ๋˜๋Š” ๊ณผ์ •์„ ๋ณด์—ฌ์ฃผ๋Š” ํ”Œ๋žซ ์ˆœ์„œ๋„
์ดํ•ฉ์ด 10์œผ๋กœ ๋‚˜๋ˆ„์–ด๋–จ์–ด์ง€๋ฉด ๊ทธ ๋ฒˆํ˜ธ๋Š” ์œ ํšจํ•ฉ๋‹ˆ๋‹ค.

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

๋ฃฌ ๊ฒ€์‚ฌ๋ฅผ ํ†ต๊ณผํ•˜๋ฉด ์‹ค์ œ๋กœ ์“ธ ์ˆ˜ ์žˆ๋Š” ์นด๋“œ์ธ๊ฐ€์š”? ์•„๋‹™๋‹ˆ๋‹ค. ๋ฒˆํ˜ธ ํ˜•์‹์ด ์˜ฌ๋ฐ”๋ฅด๋‹ค๋Š” ๊ฒƒ๋งŒ ํ™•์ธํ•  ๋ฟ, ํ•ด๋‹น ๊ณ„์ขŒ๊ฐ€ ์‹ค์ œ๋กœ ์กด์žฌํ•˜๋Š”์ง€๋‚˜ ์ž”์•ก์ด ์žˆ๋Š”์ง€๋Š” ๊ฒ€์‚ฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์–ด๋–ค ๋ฌธ์ž๋ฅผ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋‚˜์š”? ์ˆซ์ž๋งŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ณต๋ฐฑ, ํ•˜์ดํ”ˆ, ๊ทธ ๋ฐ–์˜ ๊ธฐํ˜ธ๋Š” ๊ณ„์‚ฐ ์ „์— ๋ชจ๋‘ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค.

2๋ฅผ ๊ณฑํ•  ๋•Œ ์™œ 9๋ฅผ ๋นผ๋‚˜์š”? 9๋ฅผ ๋„˜๋Š” ๊ฐ’์—์„œ 9๋ฅผ ๋นผ๋ฉด ๊ทธ ๊ฐ’์˜ ๋‘ ์ž๋ฆฟ์ˆ˜๋ฅผ ๋”ํ•œ ๊ฒƒ๊ณผ ๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค๋Š”๋ฐ, ์ด๊ฒƒ์ด ๋ฐ”๋กœ ์›๋ž˜ ๋ฃฌ ๊ทœ์น™์ด ์š”๊ตฌํ•˜๋Š” ๊ณ„์‚ฐ์ž…๋‹ˆ๋‹ค.

์ตœ์ข… ์—…๋ฐ์ดํŠธ: