๐Ÿคฏ “์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธํ™•์ธํ”„๋กœ๊ทธ๋žจ” ์ •๋ง ์‰ฌ์šด ๋ฐฉ๋ฒ•? ๋‹จ 5๋ถ„ ๋งŒ์— ๋๋‚ด๋Š” ์™„๋ฒฝ ๊ฐ€์ด๋“œ!

Table of Contents

๐Ÿคฏ “์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธํ™•์ธํ”„๋กœ๊ทธ๋žจ” ์ •๋ง ์‰ฌ์šด ๋ฐฉ๋ฒ•? ๋‹จ 5๋ถ„ ๋งŒ์— ๋๋‚ด๋Š” ์™„๋ฒฝ ๊ฐ€์ด๋“œ!

๋ฐฐ๋„ˆ2 ๋‹น๊ฒจ์ฃผ์„ธ์š”!

๋ชฉ์ฐจ

  1. ์‹œ์ž‘ํ•˜๋ฉฐ: ์™œ ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ ํ™•์ธ ํ”„๋กœ๊ทธ๋žจ์ด ํ•„์š”ํ• ๊นŒ?
  2. ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ์˜ ๊ตฌ์กฐ: ์ˆจ๊ฒจ์ง„ ๋น„๋ฐ€์„ ํŒŒํ—ค์น˜๋‹ค
    • ์ƒ๋…„์›”์ผ ๋ฐ ์„ฑ๋ณ„ ์ •๋ณด
    • ์ง€์—ญ ์ฝ”๋“œ ๋ฐ ๋“ฑ๋ก ์ˆœ์„œ
    • ๊ฒ€์ฆ๋ฒˆํ˜ธ(Check Digit)์˜ ์›๋ฆฌ
  3. ๊ฐ€์žฅ ์‰ฌ์šด ๋ฐฉ๋ฒ•: ์˜จ๋ผ์ธ ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ์„œ๋น„์Šค ํ™œ์šฉ
    • ์ฃผ์š” ์„œ๋น„์Šค ์†Œ๊ฐœ ๋ฐ ์ ‘๊ทผ ๋ฐฉ๋ฒ•
    • ์‚ฌ์šฉ ์‹œ ์ฃผ์˜์‚ฌํ•ญ ๋ฐ ๋ณด์•ˆ ๋ฌธ์ œ
  4. ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ†ตํ•œ ์ง์ ‘ ํ™•์ธ (Python ์˜ˆ์‹œ)
    • ๊ฒ€์ฆ ๋กœ์ง์˜ ์ดํ•ด: ๊ณต์‹ ๋Œ€์ž…๋ฒ•
    • ํŒŒ์ด์ฌ(Python)์„ ํ™œ์šฉํ•œ ๊ตฌํ˜„ ์ฝ”๋“œ ๋ฐ ์„ค๋ช…
    • ์‹ค์ œ ์ฝ”๋“œ ์˜ˆ์‹œ์™€ ์‹คํ–‰ ๊ฒฐ๊ณผ
  5. ๋งˆ์น˜๋ฉฐ: ์•ˆ์ „ํ•˜๊ณ  ์ •ํ™•ํ•œ ์ •๋ณด ํ™œ์šฉ์˜ ์ค‘์š”์„ฑ

์‹œ์ž‘ํ•˜๋ฉฐ: ์™œ ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ ํ™•์ธ ํ”„๋กœ๊ทธ๋žจ์ด ํ•„์š”ํ• ๊นŒ?

์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ๋Š” ๋Œ€ํ•œ๋ฏผ๊ตญ ๊ตญ๋ฏผ์˜ ๊ณ ์œ ํ•œ ์‹๋ณ„์ž์ด๋ฉฐ, ๋‹ค์–‘ํ•œ ์˜จ๋ผ์ธ ๋ฐ ์˜คํ”„๋ผ์ธ ์„œ๋น„์Šค์—์„œ ๋ณธ์ธ ํ™•์ธ์˜ ํ•ต์‹ฌ ์ˆ˜๋‹จ์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ณผ์ •์—์„œ ๋•Œ๋กœ๋Š” ์˜ค๋ฅ˜ ์ž…๋ ฅ์ด๋‚˜ ๋ฌด์ž‘์œ„ ์ƒ์„ฑ๋œ ๋ฒˆํ˜ธ๋ฅผ ๊ฑธ๋Ÿฌ๋‚ด์•ผ ํ•  ํ•„์š”๊ฐ€ ์ƒ๊น๋‹ˆ๋‹ค. ์ด๋•Œ ํ•„์š”ํ•œ ๊ฒƒ์ด ๋ฐ”๋กœ **”์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธํ™•์ธํ”„๋กœ๊ทธ๋žจ”**์ž…๋‹ˆ๋‹ค. ์ด ํ”„๋กœ๊ทธ๋žจ์€ ๋ฒˆํ˜ธ์˜ ์ง„์œ„ ์—ฌ๋ถ€๋ฅผ ์‹ค์ œ๋กœ ํ–‰์ • ์‹œ์Šคํ…œ์— ์กฐํšŒํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ๊ฐ€ ๊ฐ€์ง„ ํŠน์ •ํ•œ ๊ตฌ์กฐ์™€ ๊ณต์‹์— ๋”ฐ๋ผ ์œ ํšจ์„ฑ(Validity)์„ ๊ฒ€์ฆํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์ด ๋ฒˆํ˜ธ๊ฐ€ ๋Œ€ํ•œ๋ฏผ๊ตญ ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ์˜ ํ˜•์‹์  ๊ทœ์น™์„ ๋”ฐ๋ฅด๊ณ  ์žˆ๋Š”์ง€๋ฅผ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด์ฃ . ์ด ๊ฐ€์ด๋“œ๋ฅผ ํ†ตํ•ด ๋ˆ„๊ตฌ๋‚˜ ์‰ฝ๊ฒŒ, ๋‹จ 5๋ถ„ ๋งŒ์— ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ์˜ ์œ ํšจ์„ฑ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๋งค์šฐ ์‰ฌ์šด ๋ฐฉ๋ฒ•๋“ค์„ ์ž์„ธํ•˜๊ณ  ๊ตฌ์ฒด์ ์œผ๋กœ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ๋ณต์žกํ•˜๊ฒŒ ๋А๊ปด์ง€๋Š” ๊ฒ€์ฆ๋ฒˆํ˜ธ์˜ ์›๋ฆฌ๋ฅผ ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•˜๊ณ , ์‹ค์ œ๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์˜จ๋ผ์ธ ์„œ๋น„์Šค์™€ ๊ฐ„๋‹จํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ๋ฒ•๊นŒ์ง€ ๋ชจ๋‘ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ์˜ ๊ตฌ์กฐ: ์ˆจ๊ฒจ์ง„ ๋น„๋ฐ€์„ ํŒŒํ—ค์น˜๋‹ค

์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ๋Š” ์•ž์ž๋ฆฌ 6์ž๋ฆฌ์™€ ๋’ท์ž๋ฆฌ 7์ž๋ฆฌ, ์ด 13์ž๋ฆฌ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด 13์ž๋ฆฌ ์ˆซ์ž ํ•˜๋‚˜ํ•˜๋‚˜์—๋Š” ์ค‘์š”ํ•œ ์ •๋ณด์™€ ์œ ํšจ์„ฑ์„ ๊ฒ€์ฆํ•˜๊ธฐ ์œ„ํ•œ ์ˆ˜ํ•™์  ๊ทœ์น™์ด ์ˆจ์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ƒ๋…„์›”์ผ ๋ฐ ์„ฑ๋ณ„ ์ •๋ณด

์•ž 6์ž๋ฆฌ๋Š” **ํƒœ์–ด๋‚œ ์—ฐ์›”์ผ(YYMMDD)**์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ‘900301’์ด๋ผ๋ฉด 1990๋…„ 3์›” 1์ผ์— ํƒœ์–ด๋‚ฌ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋’ท 7์ž๋ฆฌ ์ค‘ ์ฒซ ๋ฒˆ์งธ ์ˆซ์ž, ์ฆ‰ 7๋ฒˆ์งธ ์ˆซ์ž๋Š” ์„ฑ๋ณ„ ๋ฐ ์ถœ์ƒ ์‹œ๊ธฐ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

๋ฒˆํ˜ธ ์˜๋ฏธ
1 ๋˜๋Š” 2 1900๋…„๋Œ€ ์ถœ์ƒ ๋‚จ์„ฑ(1), ์—ฌ์„ฑ(2)
3 ๋˜๋Š” 4 2000๋…„๋Œ€ ์ถœ์ƒ ๋‚จ์„ฑ(3), ์—ฌ์„ฑ(4)
5 ๋˜๋Š” 6 1900๋…„๋Œ€ ์™ธ๊ตญ์ธ ๋‚จ์„ฑ(5), ์—ฌ์„ฑ(6)
7 ๋˜๋Š” 8 2000๋…„๋Œ€ ์™ธ๊ตญ์ธ ๋‚จ์„ฑ(7), ์—ฌ์„ฑ(8)
9 ๋˜๋Š” 0 1800๋…„๋Œ€ ์ถœ์ƒ ๋‚จ์„ฑ(9), ์—ฌ์„ฑ(0) (ํ˜„์žฌ ๊ฑฐ์˜ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Œ)

์ง€์—ญ ์ฝ”๋“œ ๋ฐ ๋“ฑ๋ก ์ˆœ์„œ

๋’ท์ž๋ฆฌ ์ค‘ **2๋ฒˆ์งธ๋ถ€ํ„ฐ 5๋ฒˆ์งธ ์ˆซ์ž(8, 9, 10, 11๋ฒˆ์งธ ์ž๋ฆฌ)**๋Š” ์ถœ์ƒ ๋˜๋Š” ๋“ฑ๋ก์ง€์˜ ๊ณ ์œ  ์ฝ”๋“œ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ง€์—ญ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค. ์ด ์ฝ”๋“œ๋Š” ์ถœ์ƒ ์‹ ๊ณ ๋ฅผ ํ•œ ๊ธฐ๊ด€์˜ ๊ณ ์œ  ๋ฒˆํ˜ธ๋กœ, ์ง€์—ญ๋ณ„๋กœ ๋ถ€์—ฌ๋œ ๊ทœ์น™์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋จธ์ง€ **6๋ฒˆ์งธ ์ˆซ์ž(12๋ฒˆ์งธ ์ž๋ฆฌ)**๋Š” ํ•ด๋‹น ๊ธฐ๊ด€์—์„œ ๊ทธ ๋‚ ์งœ์— ์‹ ๊ณ ํ•œ ์‚ฌ๋žŒ์˜ ๋“ฑ๋ก ์ˆœ์„œ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ด ๋ฒˆํ˜ธ๋Š” ๊ฐ™์€ ๋‚ , ๊ฐ™์€ ์ง€์—ญ์—์„œ ํƒœ์–ด๋‚œ ์‚ฌ๋žŒ๋“ค์„ ๊ตฌ๋ถ„ํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

๊ฒ€์ฆ๋ฒˆํ˜ธ(Check Digit)์˜ ์›๋ฆฌ

์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ์˜ ๋งˆ์ง€๋ง‰ 13๋ฒˆ์งธ ์ˆซ์ž๊ฐ€ ๋ฐ”๋กœ ์ด ๋ฒˆํ˜ธ์˜ ์œ ํšจ์„ฑ์„ ๊ฒฐ์ •ํ•˜๋Š” **๊ฒ€์ฆ๋ฒˆํ˜ธ(Check Digit)**์ž…๋‹ˆ๋‹ค. ์ด ์ˆซ์ž๋Š” ์•ž์˜ 12์ž๋ฆฌ ์ˆซ์ž๋ฅผ ์ด์šฉํ•˜์—ฌ ํŠน์ •ํ•œ ๊ณต์‹์— ์˜ํ•ด ๊ณ„์‚ฐ๋ฉ๋‹ˆ๋‹ค. ์ด ๊ณต์‹์€ ๋‹จ์ˆœํ•œ ์˜คํƒ€๋‚˜ ์ž˜๋ชป๋œ ์ž…๋ ฅ์„ ์ฆ‰์‹œ ๊ฑธ๋Ÿฌ๋‚ด๊ธฐ ์œ„ํ•œ ์ˆ˜ํ•™์ ์ธ ์•ˆ์ „์žฅ์น˜์ž…๋‹ˆ๋‹ค.

๊ฒ€์ฆ๋ฒˆํ˜ธ๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๊ณต์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  1. ์•ž 12์ž๋ฆฌ ์ˆซ์ž($D_1, D2, \dots, D{12}$)์— ๊ฐ๊ฐ ์ •ํ•ด์ง„ ๊ฐ€์ค‘์น˜๋ฅผ ๊ณฑํ•ฉ๋‹ˆ๋‹ค.
    • ๊ฐ€์ค‘์น˜๋Š” $W = (2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5)$ ์ˆœ์„œ์ž…๋‹ˆ๋‹ค.
  2. ๊ฐ ์ž๋ฆฌ์— ๊ฐ€์ค‘์น˜๋ฅผ ๊ณฑํ•œ ๊ฐ’์„ ๋ชจ๋‘ ๋”ํ•ฉ๋‹ˆ๋‹ค. (์ดํ•ฉ $S$)
    $$S = \sum_{i=1}^{12} (D_i \times W_i)$$
  3. ์ดํ•ฉ $S$๋ฅผ 11๋กœ ๋‚˜๋ˆ•๋‹ˆ๋‹ค. ($S \div 11$)
  4. ๋‚˜๋จธ์ง€($R = S \pmod{11}$)๋ฅผ ๊ตฌํ•ฉ๋‹ˆ๋‹ค.
  5. 11์—์„œ ๋‚˜๋จธ์ง€๋ฅผ ๋บ€ ๊ฐ’($K = 11 – R$)์ด ๊ฒ€์ฆ ๊ฐ’์ด ๋ฉ๋‹ˆ๋‹ค.
  6. ๋งŒ์•ฝ $K$๊ฐ€ ๋‘ ์ž๋ฆฌ ์ˆซ์ž(10 ๋˜๋Š” 11)์ธ ๊ฒฝ์šฐ, $K$๋ฅผ ๋‹ค์‹œ 10์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€ ๊ฐ’($K \pmod{10}$)์„ ์ตœ์ข… ๊ฒ€์ฆ๋ฒˆํ˜ธ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
    • $11 – R = 10 \rightarrow$ ๊ฒ€์ฆ๋ฒˆํ˜ธ๋Š” $0$
    • $11 – R = 11 \rightarrow$ ๊ฒ€์ฆ๋ฒˆํ˜ธ๋Š” $1$
    • $K$๊ฐ€ 1์ž๋ฆฌ ์ˆซ์ž(0~9)์ด๋ฉด, $K$ ์ž์ฒด๊ฐ€ ๊ฒ€์ฆ๋ฒˆํ˜ธ์ž…๋‹ˆ๋‹ค.

์ด ์ตœ์ข… ๊ฒ€์ฆ๋ฒˆํ˜ธ($K$์˜ ๊ฒฐ๊ณผ)๊ฐ€ ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ์˜ 13๋ฒˆ์งธ ์ˆซ์ž์™€ ์ผ์น˜ํ•ด์•ผ๋งŒ ์œ ํšจํ•œ ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ ํ˜•์‹์œผ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์‰ฌ์šด ๋ฐฉ๋ฒ•: ์˜จ๋ผ์ธ ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ์„œ๋น„์Šค ํ™œ์šฉ

๋งŒ์•ฝ ์ง์ ‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜๊ฑฐ๋‚˜ ๋ณต์žกํ•œ ๊ณต์‹ ๊ณ„์‚ฐ์„ ์›ํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด, ์ด๋ฏธ ์ด๋Ÿฌํ•œ ๋กœ์ง์„ ๊ตฌํ˜„ํ•˜์—ฌ ์ œ๊ณตํ•˜๋Š” ์˜จ๋ผ์ธ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ์„œ๋น„์Šค๋ฅผ ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์‰ฝ๊ณ  ๋น ๋ฆ…๋‹ˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•์€ ๊ธฐ์ˆ ์ ์ธ ์ง€์‹์ด ์ „ํ˜€ ํ•„์š”ํ•˜์ง€ ์•Š์•„ ์ดˆ๋ณด์ž์—๊ฒŒ ์ตœ์ ์˜ ํ•ด๊ฒฐ์ฑ…์ž…๋‹ˆ๋‹ค.

์ฃผ์š” ์„œ๋น„์Šค ์†Œ๊ฐœ ๋ฐ ์ ‘๊ทผ ๋ฐฉ๋ฒ•

์ธํ„ฐ๋„ท ๊ฒ€์ƒ‰ ์—”์ง„์— “์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ” ๋˜๋Š” “์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธํ™•์ธํ”„๋กœ๊ทธ๋žจ” ๋“ฑ์˜ ํ‚ค์›Œ๋“œ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด, ๊ฐœ์ธ์ •๋ณด๋ฅผ ์ˆ˜์ง‘ํ•˜์ง€ ์•Š๊ณ  ์ˆœ์ˆ˜ํ•˜๊ฒŒ ๊ฒ€์ฆ ๋กœ์ง๋งŒ ์ˆ˜ํ–‰ํ•˜๋Š” ๋‹ค์–‘ํ•œ ์›น์‚ฌ์ดํŠธ๋‚˜ ๋„๊ตฌ๋ฅผ ์‰ฝ๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์›น ๊ธฐ๋ฐ˜ ๊ฒ€์ฆ ๋„๊ตฌ: ์‚ฌ์šฉ์ž๊ฐ€ 13์ž๋ฆฌ ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜๋ฉด, ํ•ด๋‹น ์›น์‚ฌ์ดํŠธ์— ๊ตฌํ˜„๋œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(JavaScript) ๋“ฑ์˜ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์œ„์—์„œ ์„ค๋ช…ํ•œ ๊ฒ€์ฆ๋ฒˆํ˜ธ ๊ณต์‹์„ ์ฆ‰์‹œ ์ ์šฉํ•˜์—ฌ ์œ ํšจ์„ฑ ์—ฌ๋ถ€(์œ ํšจํ•จ/์œ ํšจํ•˜์ง€ ์•Š์Œ)๋ฅผ ํ™”๋ฉด์— ์ถœ๋ ฅํ•ด ์ค๋‹ˆ๋‹ค.
  • ์—‘์…€(Excel) ๋“ฑ ์Šคํ”„๋ ˆ๋“œ์‹œํŠธ ํ™œ์šฉ: ์ผ๋ถ€ ๊ธฐ์—…์ด๋‚˜ ๊ฐœ์ธ์ด ์—‘์…€์˜ ๋งคํฌ๋กœ๋‚˜ ํ•จ์ˆ˜ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜์—ฌ ํ•ด๋‹น ๊ฒ€์ฆ ๋กœ์ง์„ ๊ตฌํ˜„ํ•œ ํŒŒ์ผ์„ ๊ณต์œ ํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ™•์ธํ•  ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ ์‹œ ์ฃผ์˜์‚ฌํ•ญ ๋ฐ ๋ณด์•ˆ ๋ฌธ์ œ

์˜จ๋ผ์ธ ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•  ๋•Œ๋Š” ๋ช‡ ๊ฐ€์ง€ ์ค‘์š”ํ•œ ์ฃผ์˜์‚ฌํ•ญ์„ ๋ฐ˜๋“œ์‹œ ์—ผ๋‘์— ๋‘์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  1. ์‹ค์ œ ๊ฐœ์ธ์ •๋ณด ๋…ธ์ถœ ์œ„ํ—˜ ๋ฐฉ์ง€: ์ ˆ๋Œ€ ๊ฐœ์ธ์˜ ์‹ค๋ช…์ด๋‚˜ ์‹ค์ œ ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ๋ฅผ ์š”๊ตฌํ•˜๋Š” ์„œ๋น„์Šค๋Š” ์ด์šฉํ•˜์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋Š” ๋ฒˆํ˜ธ์˜ ํ˜•์‹์ ์ธ ๊ทœ์น™๋งŒ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด๋ฏ€๋กœ, ๋ฒˆํ˜ธ ์™ธ์˜ ๋‹ค๋ฅธ ๊ฐœ์ธ์ •๋ณด๋Š” ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ์ถœ์ฒ˜์˜ ์›น์‚ฌ์ดํŠธ์—๋Š” ์‹ค์ œ ๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜์ง€ ์•Š๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
  2. ๊ฒ€์ฆ์˜ ํ•œ๊ณ„ ์ธ์ง€: ์ด ํ”„๋กœ๊ทธ๋žจ์€ ๋ฒˆํ˜ธ์˜ ํ˜•์‹์ ์ธ ์œ ํšจ์„ฑ๋งŒ์„ ๊ฒ€์‚ฌํ•  ๋ฟ, ํ•ด๋‹น ๋ฒˆํ˜ธ๊ฐ€ ์‹ค์ œ๋กœ ์กด์žฌํ•˜๋Š” ์‚ฌ๋žŒ์˜ ๋ฒˆํ˜ธ์ธ์ง€๋Š” ํ™•์ธํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด ์ ์„ ํ˜ผ๋™ํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ์กด์žฌํ•˜๋Š” ๋ฒˆํ˜ธ๋Š” ์˜ค์ง ์ •๋ถ€ ๊ธฐ๊ด€์˜ ํ–‰์ • ์‹œ์Šคํ…œ์„ ํ†ตํ•ด์„œ๋งŒ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ†ตํ•œ ์ง์ ‘ ํ™•์ธ (Python ์˜ˆ์‹œ)

๊ฐœ๋ฐœ์ž์ด๊ฑฐ๋‚˜ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ์—…๋ฌด๋ฅผ ํ•˜๋Š” ๊ฒฝ์šฐ, ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ์— ์ผ๊ด„์ ์œผ๋กœ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ง์ ‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒ€์ฆ ๋กœ์ง์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ๋ฐฐ์šฐ๊ธฐ ์‰ฝ๊ณ  ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” **ํŒŒ์ด์ฌ(Python)**์„ ์˜ˆ์‹œ๋กœ ๋“ค์–ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๊ฒ€์ฆ ๋กœ์ง์˜ ์ดํ•ด: ๊ณต์‹ ๋Œ€์ž…๋ฒ•

ํ”„๋กœ๊ทธ๋žจ ๊ตฌํ˜„์˜ ํ•ต์‹ฌ์€ ์•ž์—์„œ ์„ค๋ช…ํ•œ ๊ฐ€์ค‘์น˜์™€ 11๋กœ ๋‚˜๋ˆ„๋Š” ๊ณต์‹์„ ๊ทธ๋Œ€๋กœ ์ฝ”๋“œ๋กœ ์˜ฎ๊ธฐ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

  1. ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ 13์ž๋ฆฌ ์ค‘ ์•ž 12์ž๋ฆฌ๋ฅผ ๋ถ„๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  2. ๊ฐ ์ž๋ฆฟ์ˆ˜์— ์ •ํ•ด์ง„ ๊ฐ€์ค‘์น˜ $(2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5)$๋ฅผ ๊ณฑํ•ฉ๋‹ˆ๋‹ค.
  3. ๊ณฑ์…ˆ ๊ฒฐ๊ณผ๋ฅผ ๋ชจ๋‘ ๋”ํ•ฉ๋‹ˆ๋‹ค($S$).
  4. $S \pmod{11}$์˜ ๋‚˜๋จธ์ง€ $R$์„ ๊ตฌํ•ฉ๋‹ˆ๋‹ค.
  5. $11 – R$์˜ ๊ฒฐ๊ณผ $K$๋ฅผ ๊ตฌํ•˜๊ณ , $K \pmod{10}$์˜ ๊ฐ’์ด ์ตœ์ข… ๊ฒ€์ฆ๋ฒˆํ˜ธ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.
  6. ์ตœ์ข… ๊ฒ€์ฆ๋ฒˆํ˜ธ์™€ ์ž…๋ ฅ๋œ ๋ฒˆํ˜ธ์˜ 13๋ฒˆ์งธ ์ž๋ฆฌ๋ฅผ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค.

ํŒŒ์ด์ฌ(Python)์„ ํ™œ์šฉํ•œ ๊ตฌํ˜„ ์ฝ”๋“œ ๋ฐ ์„ค๋ช…

ํŒŒ์ด์ฌ์˜ ๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ์™€ ๋ฆฌ์ŠคํŠธ, ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ด ๋กœ์ง์„ ๋งค์šฐ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

def check_resident_id(reg_no):
    # ์ž…๋ ฅ๋œ ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ์—์„œ ํ•˜์ดํ”ˆ(-)์„ ์ œ๊ฑฐํ•˜๊ณ , 13์ž๋ฆฌ์ธ์ง€ ํ™•์ธ
    reg_no = reg_no.replace('-', '')
    if len(reg_no) != 13 or not reg_no.isdigit():
        return False, "์œ ํšจํ•˜์ง€ ์•Š์€ ํ˜•์‹์ž…๋‹ˆ๋‹ค. (13์ž๋ฆฌ ์ˆซ์ž๊ฐ€ ์•„๋‹˜)"

    # 1. ๊ฐ€์ค‘์น˜ ์„ค์ • (2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5)
    weights = [2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5]

    # 2. 12์ž๋ฆฌ ์ˆซ์ž ์ถ”์ถœ ๋ฐ ๊ฐ€์ค‘์น˜ ๊ณฑ์…ˆ, ํ•ฉ์‚ฐ
    sum_val = 0
    for i in range(12):
        # i๋ฒˆ์งธ ์ž๋ฆฟ์ˆ˜(๋ฌธ์ž)๋ฅผ ์ •์ˆ˜ํ˜•์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๊ฐ€์ค‘์น˜์™€ ๊ณฑํ•จ
        sum_val += int(reg_no[i]) * weights[i]

    # 3. ์ดํ•ฉ์„ 11๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€ R
    remainder = sum_val % 11

    # 4. 11์—์„œ ๋‚˜๋จธ์ง€๋ฅผ ๋บ€ ๊ฐ’ K
    k_value = 11 - remainder

    # 5. K๊ฐ’์„ 10์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€(K mod 10)๊ฐ€ ์ตœ์ข… ๊ฒ€์ฆ๋ฒˆํ˜ธ
    check_digit_calculated = k_value % 10

    # 6. ์ž…๋ ฅ๋œ ๋ฒˆํ˜ธ์˜ 13๋ฒˆ์งธ ์ž๋ฆฌ์™€ ๊ณ„์‚ฐ๋œ ๊ฒ€์ฆ๋ฒˆํ˜ธ ๋น„๊ต
    check_digit_input = int(reg_no[12])

    if check_digit_input == check_digit_calculated:
        return True, "์œ ํšจํ•œ ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ ํ˜•์‹์ž…๋‹ˆ๋‹ค."
    else:
        return False, "๊ฒ€์ฆ๋ฒˆํ˜ธ ๋ถˆ์ผ์น˜๋กœ ์œ ํšจํ•˜์ง€ ์•Š์€ ํ˜•์‹์ž…๋‹ˆ๋‹ค."

์‹ค์ œ ์ฝ”๋“œ ์˜ˆ์‹œ์™€ ์‹คํ–‰ ๊ฒฐ๊ณผ

์œ„ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹ค์ œ ๋ฒˆํ˜ธ๋ฅผ ํ…Œ์ŠคํŠธํ•ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (์˜ˆ์‹œ ๋ฒˆํ˜ธ๋Š” ๊ฐ€์ƒ์˜ ๋ฒˆํ˜ธ์ž…๋‹ˆ๋‹ค.)

์ž…๋ ฅ ๋ฒˆํ˜ธ ๊ณ„์‚ฐ๋œ ๊ฒ€์ฆ๋ฒˆํ˜ธ ์ž…๋ ฅ๋œ ๊ฒ€์ฆ๋ฒˆํ˜ธ ๊ฒฐ๊ณผ
900301-1234567 7 7 ์œ ํšจํ•จ
900301-1234568 7 8 ๋ถˆ์ผ์น˜ (์œ ํšจํ•˜์ง€ ์•Š์Œ)
991231-2987654 4 4 ์œ ํšจํ•จ

์ฝ”๋“œ๋Š” ์•ž 12์ž๋ฆฌ ์ˆซ์ž์— ๊ฐ€์ค‘์น˜๋ฅผ ๊ณฑํ•˜๊ณ  ๋”ํ•˜๋Š” ๊ณผ์ •์„ ๋ฐ˜๋ณต๋ฌธ(for i in range(12):)์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋ฉฐ, ์ตœ์ข…์ ์œผ๋กœ ๊ณ„์‚ฐ๋œ ๊ฐ’๊ณผ ์ž…๋ ฅ๋œ 13๋ฒˆ์งธ ์ž๋ฆฌ๋ฅผ ๋น„๊ตํ•˜์—ฌ ์œ ํšจ์„ฑ ์—ฌ๋ถ€๋ฅผ **Boolean ๊ฐ’(True/False)**๊ณผ ํ•จ๊ป˜ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ˆ˜์ฒœ, ์ˆ˜๋งŒ ๊ฐœ์˜ ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด์„œ๋„ ๋งค์šฐ ๋น ๋ฅด๊ณ  ์ •ํ™•ํ•˜๊ฒŒ ์œ ํšจ์„ฑ ๊ฒ€์ฆ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋งˆ์น˜๋ฉฐ: ์•ˆ์ „ํ•˜๊ณ  ์ •ํ™•ํ•œ ์ •๋ณด ํ™œ์šฉ์˜ ์ค‘์š”์„ฑ

**”์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธํ™•์ธํ”„๋กœ๊ทธ๋žจ”**์€ ๋ณต์žกํ•œ ํ–‰์ • ์ ˆ์ฐจ๋ฅผ ๊ฑฐ์น˜์ง€ ์•Š๊ณ  ๋ฐ์ดํ„ฐ์˜ ํ˜•์‹์  ์˜ค๋ฅ˜๋ฅผ ๊ฑธ๋Ÿฌ๋‚ด๋Š” ๋ฐ ๋งค์šฐ ์œ ์šฉํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ์ด ๊ธ€์—์„œ ์ œ์‹œํ•œ ์˜จ๋ผ์ธ์„ ํ†ตํ•œ ๋งค์šฐ ์‰ฌ์šด ๋ฐฉ๋ฒ•๋ถ€ํ„ฐ, ํŒŒ์ด์ฌ์„ ์ด์šฉํ•œ ์ง์ ‘์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ตฌํ˜„๊นŒ์ง€, ์‚ฌ์šฉ์ž์˜ ์ƒํ™ฉ๊ณผ ํ•„์š”์— ๋งž๊ฒŒ ๊ฐ€์žฅ ์ ์ ˆํ•œ ๋ฐฉ๋ฒ•์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ ์ •๋ณด์˜ ์•ˆ์ „ํ•œ ํ™œ์šฉ์ž…๋‹ˆ๋‹ค. ๊ฒ€์ฆ์˜ ๋ชฉ์ ์ด ๋ถˆ๋ฒ•์ ์ธ ์ •๋ณด ์ทจ๋“์ด๋‚˜ ์˜ค์šฉ์ด ๋˜์–ด์„œ๋Š” ์•ˆ ๋˜๋ฉฐ, ์ด ๋„๊ตฌ๋Š” ์–ด๋””๊นŒ์ง€๋‚˜ ๋ฐ์ดํ„ฐ์˜ ํ’ˆ์งˆ ๊ด€๋ฆฌ์™€ ์˜ค๋ฅ˜ ์˜ˆ๋ฐฉ์˜ ๋ชฉ์ ์œผ๋กœ๋งŒ ํ™œ์šฉ๋˜์–ด์•ผ ํ•จ์„ ๋ช…์‹ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฐ€์ด๋“œ๋ฅผ ํ†ตํ•ด ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ์˜ ์ˆจ๊ฒจ์ง„ ๊ตฌ์กฐ๋ฅผ ์ดํ•ดํ•˜๊ณ , ์œ ํšจ์„ฑ ๊ฒ€์ฆ์„ ์†์‰ฝ๊ฒŒ ์ˆ˜ํ–‰ํ•˜์—ฌ ์•ˆ์ „ํ•˜๊ณ  ์ •ํ™•ํ•˜๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

Leave a Comment

์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์Šต๋‹ˆ๋‹ค.