๐Ÿ“šSTUDY/๐ŸŽ‡๋‹คํ• (dafit.me)

[DF913] 10. ์ „ํ™”๋ฒˆํ˜ธ ์ „์ฒ˜๋ฆฌ

ํ•ด๋Š”์„  2020. 2. 25. 18:21

10. ์ „ํ™”๋ฒˆํ˜ธ ์ „์ฒ˜๋ฆฌ

http://www.dafit.me/question/?q=YToxOntzOjEyOiJrZXl3b3JkX3R5cGUiO3M6MzoiYWxsIjt9&bmode=view&idx=2968780&t=board

 

[DF913] ํŒŒ์ด์ฌ ๊ธฐ์ดˆ ํ›ˆ๋ จ 10์ œ : ๋‹คํ•, ๋ฐ์ดํ„ฐ์‚ฌ์ด์–ธ์Šค ์—ฐ์Šต๋ฌธ์ œ

๐Ÿ”ฅ ๋ฌธ์ œ ์„ค๋ช…ํŒŒ์ด์ฌ์˜ ๊ธฐ์ดˆ ๋ฌธ๋ฒ•์„ ํ›ˆ๋ จํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋ณธ ์—ฐ์Šต๋ฌธ์ œ 10์ œ์ž…๋‹ˆ๋‹ค. (ver.3.6.) ๐Ÿ”ฅ ์ถ”์ฒœ ๋Œ€์ƒ ๋ฐ ํ•™์Šต ๋ชฉํ‘œํŒŒ์ด์ฌ ๊ณต๋ถ€๋ฅผ ์ตœ๊ทผ์— ์‹œ์ž‘ํ•˜๊ฑฐ๋‚˜ ๋งˆ์นœ ์ž.โ†’ ์ด ๋‚œ์ด๋„ ์ˆ˜์ค€์„ ํ•ด๊ฒฐํ•ด๋‚ผ ์ˆ˜ ์žˆ๋„๋ก ๊ณต๋ถ€ํ•˜๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.("๋‚ด๊ฐ€ ์ตœ๊ทผ์— ํŒŒ์ด์ฌ์„ ๊ณต๋ถ€ํ–ˆ๋Š”๋ฐ, ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์„๊นŒ?")ํŒŒ์ด์ฌ ๊ธฐ์ดˆ ๋ฌธ๋ฒ•์„ ๋‹ค์‹œ ์—ฐ์Šต ๋ฐ ๋ณต์Šตํ•ด์•ผํ•  ํ•„์š”์„ฑ์„ ๋А๋ผ๋Š” ์ž.โ†’ ํŒŒ์ด์ฌ์˜ ๊ธฐ์ดˆ์ ์ธ ๋‚ด์šฉ์„ ํ›ˆ๋ จํ•จ์œผ๋กœ์จ, ์ˆ™๋ จ๋„๋ฅผ ๋†’์ด๋Š” ๊ฒƒ์„ ๋ชฉ์ ์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.๐Ÿ”ฅ ๋‚œ์ด๋„โ˜…

www.dafit.me

์ „์ฒ˜๋ฆฌ! python์˜ ์ •๊ทœ ํ‘œํ˜„์‹์„ ์‚ฌ์šฉํ•ด์„œ ํ’€๋ฉด ๋˜๋Š” ๋ฌธ์ œ์˜€๋‹ค. ์ฒ˜์Œ python์„ ๋ฐฐ์šธ ๋•Œ, ์ •๊ทœ ํ‘œํ˜„์‹์€ ์•ˆ๋ฐฐ์šฐ๊ณ  ๋„˜์–ด๊ฐ”์–ด์„œ์„œ ์•„๋ฌด ์ƒ๊ฐ์—†์ด C์ฒ˜๋Ÿผ ํ’€์—ˆ๋‹ค๊ฐ€, ๋ญ”๊ฐ€ ์ด๊ฑด ๋„ˆ๋ฌด ์•„๋‹Œ๊ฑฐ ๊ฐ™์•„์„œ ์ฐพ์•„๋ณด๋‹ค๊ฐ€ ์ •๊ทœ ํ‘œํ˜„์‹์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค.

 

๋‹ค๋ฅธ ์‚ฌ์ดํŠธ๋“ค์„ ๋’ค์ ธ๊ฐ€๋ฉด์„œ ์ •๊ทœ ํ‘œํ˜„์‹์„ ์ •๋ฆฌํ•ด๋ดค๋‹ค.

2020/02/25 - [Etc] - python ์ •๊ทœ ํ‘œํ˜„์‹ ๋‚ด๋ง˜๋Œ€๋กœ ์ •๋ฆฌ

 

 

์ผ๋‹จ ์ฝ”๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

import re
p = re.compile(r'(0?10)[-]?(\d{4})[-]?(\d{4})')

number = input()

m = p.search(number)

if m==None:
    print("ERROR!")
else:
    if m.group(1)=='10':
        print("0{}{}{}".format(m.group(1), m.group(2), m.group(3)))
    else:
        print("{}{}{}".format(m.group(1), m.group(2), m.group(3)))

 

๋จผ์ € ์ •๊ทœ ํ‘œํ˜„์‹์— ํ•„์š”ํ•œ re๋ฅผ importํ•œ๋‹ค.

๊ทธ ๋’ค, ํŒจํ„ด์„ ์งœ๋Š”๋ฐ 010์—์„œ 10์€ ๋ฌด์กฐ๊ฑด ๋“ค์–ด๊ฐ€๋ฏ€๋กœ ์ฒ˜์Œ์˜ 0์€ ์žˆ์–ด๋„ ๋˜๊ณ  ์—†์–ด๋„ ๋˜๋Š” ?๋ฅผ ๋ถ™์—ฌ ์ฃผ์—ˆ๊ณ , ๊ทธ ๋’ค์—๋Š” 10์„ ๊ทธ๋Œ€๋กœ ํ‘œ๊ธฐํ–ˆ๋‹ค. (01x๋ฒˆํ˜ธ๋Š” ์ด์ œ ์‚ฌ๋ผ์กŒ์œผ๋‹ˆ๊นŒใ… ใ… )

 

๋ฒˆํ˜ธ ์‚ฌ์ด์‚ฌ์ด์— ๋“ค์–ด๊ฐ€๋Š” - ๊ธฐํ˜ธ๋„ ์žˆ์–ด๋„ ๋˜๊ณ , ์—†์–ด๋„ ๋˜๋‹ˆ [-]? ๋กœ ์ฒ˜๋ฆฌํ–ˆ๋‹ค.

ํœด๋Œ€ํฐ ๋ฒˆํ˜ธ๋Š” 3์ž๋ฆฌ, 4์ž๋ฆฌ, 4์ž๋ฆฌ์—ฌ์„œ ๋’ค์˜ 4์ž๋ฆฌ ๋‘๊ฐœ๋Š” ๊ผญ ํ•„์š”ํ•œ ์ •๋ณด๋‹ค. ์ฆ‰, ์ž๋ฆฌ๊ฐ€ 4๊ฐœ๋กœ ๊ณ ์ •์ด ๋˜์–ด์žˆ๋‹ค. ์ˆซ์ž 0-9๋ฅผ ๋œปํ•˜๋Š” \d์— 4๋ฒˆ ๋ฐ˜๋ณต๋œ๋‹ค๋Š” ๋œป์„ ๋‹ด์€ {4}๋ฅผ ๋ถ™์—ฌ์คฌ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ๋‚˜์ค‘์— ์ •๋ฆฌํ•˜๊ธฐ ์‰ฝ๊ฒŒ 3์ž๋ฆฌ, 4์ž๋ฆฌ, 4์ž๋ฆฌ๋งˆ๋‹ค ๊ทธ๋ฃจํ•‘์„ ํ•ด์คฌ๋‹ค.

 

 

๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅ ๋ฐ›๊ณ ๋Š”, ๋งŒ๋“ค์–ด๋‘” ํŒจํ„ด์œผ๋กœ ์ปดํŒŒ์ผ์„ ํ•œ๋‹ค. ๋งŒ์•ฝ, ํŒจํ„ด๊ณผ ์ž…๋ ฅ๋ฐ›์€ ๋ฒˆํ˜ธ์˜ ๊ทœ์น™์ด ๋‹ค๋ฅผ ๊ฒฝ์šฐ m์—๋Š” None์ด ์ €์žฅ๋˜๊ฒŒ ๋˜๋ฏ€๋กœ if๋ฌธ์„ ์ด์šฉํ•ด์„œ ERROR๋ฅผ ์ถœ๋ ฅํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•ด์คฌ๋‹ค.

 

์˜ฌ๋ฐ”๋ฅธ ํŒจํ„ด์„ ๊ฐ€์ง„ ๋ฒˆํ˜ธ๋Š” 3(๋˜๋Š” 2)์ž๋ฆฌ, 4์ž๋ฆฌ, 4์ž๋ฆฌ๋กœ ๊ทธ๋ฃจํ•‘๋˜์–ด ์žˆ์–ด์„œ ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅํ•ด์ฃผ๊ธฐ๋งŒ ํ•˜๋ฉด ๋œ๋‹ค. ์ฒซ๋ฒˆ์งธ ์ธ๋ฑ์Šค(010)์˜ ๊ฒฝ์šฐ 10์ผ์ˆ˜๋„, 010์ผ ์ˆ˜๋„ ์žˆ์–ด์„œ ์ด ๋ถ€๋ถ„๋งŒ ๋”ฐ๋กœ ์ฒดํฌํ•˜๋Š” ๋ถ„๊ธฐ์ ์„ ๋‚˜๋ˆ ์ฃผ์—ˆ๋‹ค.

 


์ฒ˜์Œ์—๋Š” ๋ง‰์—ฐํžˆ ์ •๊ทœ ํ‘œํ˜„์‹์ด ๋ง‰๋ง‰ํ–ˆ๋Š”๋ฐ ๊ฐ์žก๊ณ  ์ •๋ฆฌํ•˜๋‹ˆ๊นŒ ๋‹ค ๊ทœ์น™์ด ์žˆ์—ˆ๋‹ค. ์ด๊ฒƒ๋„ ๊ฒฐ๊ตญ์—๋Š” ๋งŽ์ด ์จ๋ณผ์ˆ˜๋ก ์ต์ˆ™ํ•ด ์งˆ ๊ฒƒ ๊ฐ™๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‚˜์ค‘์— ํฌ๋กค๋ง ํ•  ๋•Œ๋„ ์œ ์šฉํ•˜๊ฒŒ ์“ธ ์ˆ˜ ์žˆ์„ ๊ฑฐ ๊ฐ™๋‹ค. 

 

๋Œ“๊ธ€์ˆ˜0