๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๊ฐœ์ธ๊ณต๋ถ€/Algorithm

[Level 1] ์‹ ๊ทœ ์•„์ด๋”” ์ถ”์ฒœ

by ๐Ÿ‡๋ฐ•๋ด‰๋ด‰๐Ÿ‡ 2021. 5. 5.

 

 

 

Algorithm

-  ์‹ ๊ทœ ์•„์ด๋”” ์ถ”์ฒœ -

 


 

๋ฌธ์ œ

์นด์นด์˜ค์— ์ž…์‚ฌ์•ˆ ์‹ ์ž… ๊ฐœ๋ฐœ์ž "๋„ค์˜ค"๋Š” "์นด์นด์˜ค๊ณ„์ •๊ฐœ๋ฐœํŒ€"์— ๋ฐฐ์น˜๋˜์–ด, ์นด์นด์˜ค ์„œ๋น„์Šค์— ๊ฐ€์ž…ํ•˜๋Š” ์œ ์ €๋“ค์˜ ์•„์ด๋””๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์—…๋ฌด๋ฅผ ๋‹ด๋‹นํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

"๋„ค์˜ค"์—๊ฒŒ ์ฃผ์–ด์ง„ ์ฒซ ์—…๋ฌด๋Š” ์ƒˆ๋กœ ๊ฐ€์ž…ํ•˜๋Š” ์œ ์ €๋“ค์ด ์นด์นด์˜ค ์•„์ด๋”” ๊ทœ์น™์— ๋งž์ง€ ์•Š๋Š” ์•„์ด๋””๋ฅผ ์ž…๋ ฅํ–ˆ์„๋•Œ, ์ž…๋ ฅ๋œ ์•„์ด๋””์™€ ์œ ์‚ฌํ•˜๋ฉด์„œ ๊ทœ์น™์— ๋งž๋Š” ์•„์ด๋””๋ฅผ ์ถ”์ฒœํ•ด์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

- ์•„์ด๋””์˜ ๊ธธ์ด๋Š” 3์ž ์ด์ƒ 15์ž ์ดํ•˜์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

- ์•„์ด๋””๋Š” ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž, ์ˆซ์ž, ๋นผ๊ธฐ(-), ๋ฐ‘์ค„(_), ๋งˆ์นจํ‘œ(.) ๋ฌธ์ž๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

- ๋‹จ, ๋งˆ์นจํ‘œ(.)๋Š” ์ฒ˜์Œ๊ณผ ๋์— ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ๋˜ํ•œ ์—ฐ์†์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

 

"๋„ค์˜ค"๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด 7๋‹จ๊ณ„์˜ ์ˆœ์ฐจ์ ์ธ ์ฒ˜๋ฆฌ ๊ณผ์ •์„ ํ†ตํ•ด ์‹ ๊ทœ ์œ ์ €๊ฐ€ ์ž…๋ ฅํ•œ ์•„์ด๋””๊ฐ€ ์นด์นด์˜ค ์•„์ด๋”” ๊ทœ์น™์— ๋งž๋Š” ์ง€ ๊ฒ€์‚ฌํ•˜๊ณ  ๊ทœ์น™์— ๋งž์ง€ ์•Š์€ ๊ฒฝ์šฐ ๊ทœ์น™์— ๋งž๋Š” ์ƒˆ๋กœ์šด ์•„์ด๋””๋ฅผ ์ถ”์ฒœํ•ด์ฃผ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

์‹ ๊ทœ ์œ ์ €๊ฐ€ ์ž…๋ ฅํ•œ ์•„์ด๋””๊ฐ€ new_id ๋ผ๊ณ  ํ•œ๋‹ค๋ฉด,

 

1๋‹จ๊ณ„ >  new_id์˜ ๋ชจ๋“  ๋Œ€๋ฌธ์ž๋ฅผ ๋Œ€์‘๋˜๋Š” ์†Œ๋ฌธ์ž๋กœ ์น˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

2๋‹จ๊ณ„ > new_id์—์„œ ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž,  ์ˆซ์ž, ๋นผ๊ธฐ(-), ๋ฐ‘์ค„(_), ๋งˆ์นจํ‘œ(.)๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ๋ฌธ์ž๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

3๋‹จ๊ณ„ > new_id์—์„œ ๋งˆ์นจํ‘œ(.)๊ฐ€ 2๋ฒˆ ์ด์ƒ ์—ฐ์†๋œ ๋ถ€๋ถ„์„ ํ•˜๋‚˜์˜ ๋งˆ์นจํ‘œ(.)๋กœ ์น˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

4๋‹จ๊ณ„ > new_id์—์„œ ๋งˆ์นจํ‘œ(.)๊ฐ€ ์ฒ˜์Œ์ด๋‚˜ ๋์— ์œ„์น˜ํ•œ๋‹ค๋ฉด ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

5๋‹จ๊ณ„ > new_id๊ฐ€ ๋นˆ ๋ฌธ์ž์—ด์ด๋ผ๋ฉด, new_id์— "a"๋ฅผ ๋Œ€์ž…ํ•ฉ๋‹ˆ๋‹ค.

6๋‹จ๊ณ„ > new_id์˜ ๊ธธ์ด๊ฐ€ 16์ž ์ด์ƒ์ด๋ผ๋ฉด, new_id์˜ ์ฒซ 15๊ฐœ์˜ ๋ฌธ์ž๋ฅผ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ๋ฌธ์ž๋“ค์„ ๋ชจ๋‘ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.
๋งŒ์•ฝ ์ œ๊ฑฐ ํ›„ ๋งˆ์นจํ‘œ๊ฐ€(.) new_id์˜ ๋์— ์œ„์น˜ํ•œ๋‹ค๋ฉด ๋์— ์œ„์น˜ํ•œ ๋งˆ์นจํ‘œ(.) ๋ฌธ์ž๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

7๋‹จ๊ณ„ > new_id์˜ ๊ธธ์ด๊ฐ€ 2์ž ์ดํ•˜๋ผ๋ฉด, new_id์˜ ๋งˆ์ง€๋ง‰ ๋ฌธ์ž๋ฅผ new_id์˜ ๊ธธ์ด๊ฐ€ 3์ด ๋  ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•ด์„œ ๋์— ๋ถ™์ž…๋‹ˆ๋‹ค.

 

์‹ ๊ทœ ์œ ์ €๊ฐ€ ์ž…๋ ฅํ•œ ์•„์ด๋””๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” new_id๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, "๋„ค์˜ค"๊ฐ€ ์„ค๊ณ„ํ•œ 7๋‹จ๊ณ„์˜ ์ฒ˜๋ฆฌ ๊ณผ์ •์„ ๊ฑฐ์นœ ํ›„์˜ ์ถ”์ฒœ ์•„์ด๋””๋ฅผ return ํ•˜๋„๋ก solutionํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด ์ฃผ์„ธ์š”.

 

- new_id์— ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ๋Š” ํŠน์ˆ˜๋ฌธ์ž๋Š” -_.~!@#$%^&*()=+[{]}:?,<>/ ๋กœ ํ•œ์ •๋ฉ๋‹ˆ๋‹ค.

 

์ž…์ถœ๋ ฅ ์˜ˆ์‹œ

no new_id result
์˜ˆ1 "...!@BaT#*..y.abcdefghijklm" "bat.y.abcdefghi"
์˜ˆ2 "=.=" "aaa"

 

๋ฌธ์ œ ํ’€๊ธฐ

 

์™€์šฐ! ์ด๋ฒˆ ๋ฌธ์ œ๋Š” ํ‘ธ๋Š”๋ฐ ์‹œ๊ฐ„์ด ๊ฝค ๊ฑธ๋ฆฌ๊ธฐ๋„ ํ–ˆ์ง€๋งŒ ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๋‚˜์”ฉ ์ง„ํ–‰ํ•ด ๋ณธ๋‹ค๊ณ  ์‹œ๊ฐ„์ด ๋” ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๊ฒƒ ๊ฐ™๋‹ค.

 

์›๋ž˜๋Š” solutionํ•จ์ˆ˜ ์•ˆ์— ๋ชจ๋“  ๊ฒƒ์„ ๋‹ค ์ง„ํ–‰์„ ํ•ด๋ณด๋ ค๊ณ  ํ–ˆ์œผ๋‚˜ ๊ทธ๋Ÿฌ๋ฉด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ์ „์— ๊ฐ€๋…์„ฑ์ด ๋„ˆ๋ฌด ์•ˆ์ข‹๊ณ  ์ฝ”๋“œ๊ฐ€ ๋งŽ์ด ๋”๋Ÿฌ์›Œ ์งˆ ๊ฒƒ ๊ฐ™์•„์„œ ์ด 7๋‹จ๊ณ„๋ฅผ ์ง„ํ–‰ํ•ด์•ผ ํ•˜๋‹ˆ ๊ฐ๊ฐ์˜ ํ’€์ด ๋ฐฉ๋ฒ•์„ ํ•œ ํ•จ์ˆ˜์— ๋„ฃ์–ด์„œ solution์—์„œ๋Š” ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰์‹œํ‚ค๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด ๋ณด์•˜๋‹ค.

 

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

 

๋‹จ๊ณ„๋ณ„๋กœ ํ•˜๋‚˜์”ฉ ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค๋ช…ํ•ด๋ณด์ž๋ฉด, ๋จผ์ € 1๋‹จ๊ณ„์—์„œ๋Š” id์•ˆ์— ์žˆ์„ ๋Œ€๋ฌธ์ž๋ฅผ ์†Œ๋ฌธ์ž๋กœ ๋ฐ”๊ฟ”์ค˜์•ผํ•˜๋‹ˆ toLowerCase()๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ชจ๋“  ๋ฌธ์ž๋ฅผ ์†Œ๋ฌธ์ž๋กœ ์น˜ํ™˜ํ•ด์ฃผ์—ˆ๋‹ค.

 

2๋‹จ๊ณ„์—์„œ๋Š” ํŠน์ • ๋ฌธ์ž๋ฅผ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ๋ฌธ์ž๋Š” ์ œ์™ธ์‹œ์ผœ์•ผํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ผ๋‹จ ์ œ์™ธํ•ด์•ผํ•  ๋ฌธ์ž๋“ค์„ ํ•œ๊ณณ์— ๋‹ด์•„๋‘” ๋‹ค์Œ์— filter๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ•ด๋‹น ๋ฌธ์ž๋“ค์ด ์•„๋‹Œ ๋‚˜๋จธ์ง€ ๋ฌธ์ž๋“ค๋งŒ ๋ฆฌํ„ด๋  ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •ํ•ด ์ฃผ์—ˆ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  filter๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„  ๋ฐฐ์—ด์„ ์ด์šฉํ•ด์•ผํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— split์œผ๋กœ ์ชผ๊ฐ ๋’ค์— join์œผ๋กœ ๋‹ค์‹œ ํ•ฉ์น˜๋Š” ๊ณผ์ •๋„ ์žŠ์ง€ ์•Š์•˜๋‹ค.

 

3๋‹จ๊ณ„์—์„œ๋Š” ๋งˆ์นจํ‘œ๊ฐ€ 2๋ฒˆ์ด์ƒ ๋ฐ˜๋ณต๋œ ๊ตฌ๊ฐ„์„ 1๊ฐœ๋กœ ์น˜ํ™˜ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์˜ˆ์ „์— ์ด๋Ÿฐ ๋น„์Šทํ•œ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด์•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ์ „์— ํ’€์—ˆ๋˜ ๋ฐฉ์‹๊ณผ ๋น„์Šทํ•œ ๋ฐฉ์‹์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด์ฃผ์—ˆ๋‹ค.

 

4๋‹จ๊ณ„์—์„œ๋Š” ๋งˆ์นจํ‘œ๊ฐ€ ์ฒ˜์Œ์ด๋‚˜ ๋์— ์žˆ์„ ๊ฒฝ์šฐ์— ์ œ๊ฑฐํ•ด์ฃผ๋Š” ๊ฒƒ์œผ๋กœ ์กฐ๊ฑด๋ฌธ์„ ์‚ฌ์šฉํ•ด ์กฐ๊ฑด์— ์„ฑ๋ฆฝ๋˜๋Š” ๊ฒƒ์— ๋”ฐ๋ผ ๋งž์ถฐ์ค˜์„œ ๊ฐ’๋“ค์ด ๋ฆฌํ„ด๋  ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •ํ•ด ์ฃผ์—ˆ๋‹ค.

 

5๋‹จ๊ณ„ ์—์„œ๋Š” ๋นˆ๋ฌธ์ž์—ด์ผ๋•Œ 'a'๋ฅผ ๋„ฃ๋Š” ๊ฒƒ์œผ๋กœ ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋ฅผ ์ด์šฉํ•ด์„œ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋ฐ›์€ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๊ฐ€ 0์ผ๋•Œ 'a'๋ฅผ ๋„ฃ์–ด์ฃผ๋Š” ๊ฒƒ์œผ๋กœ ํ•ด๊ฒฐํ•ด ์ฃผ์—ˆ๋‹ค.

 

6๋‹จ๊ณ„์˜ˆ์„œ๋Š” ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๊ฐ€ 16์ž ์ด์ƒ์‹œ 15๊ฐœ๋ฅผ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€๋ฅผ ์‚ญ์ œํ•ด์ฃผ๋˜, ์ดํ›„์— ๋งˆ์ง€๋ง‰์— ๋งˆ์นจํ‘œ๊ฐ€ ์žˆ์œผ๋ฉด ํ•ด๋‹น ๋งˆ์นจํ‘œ๋„ ์‚ญ์ œํ•ด์ฃผ๋Š” ๊ฒƒ์œผ๋กœ ๋งˆ์ฐฌ๊ฐ€์ง€๊ณ  ์กฐ๊ฑด๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด ์ฃผ์—ˆ๋‹ค.

 

๋งˆ์ง€๋ง‰ 7๋‹จ๊ณ„๋Š” ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๊ฐ€ 2์ž ์ดํ•˜์ผ ๊ฒฝ์šฐ์— ๋งˆ์ง€๋ง‰ ๋ฌธ์ž๋ฅผ ๊ธธ์ด๊ฐ€ 3์ด ๋ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•˜๋„๋ก ๋ฐ˜๋ณต๋ถ„ while์„ ์‚ฌ์šฉํ•ด์„œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด์ฃผ์—ˆ๋‹ค.

 

์‚ฌ์‹ค ์ข€๋” ๋…ธ๋ ฅํ•˜๋ฉด ์ฝ”๋“œ์˜ ๊ธธ์ด๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์„๊ฒƒ ๊ฐ™๊ธดํ•œ๋ฐ ๊ทธ๋ ‡๊ฒŒ ๋˜๋ฉด ๊ฐ€๋…์„ฑ์ด ์—„์ฒญ ๋–จ์–ด์งˆ๊ฒƒ ๊ฐ™์•„์„œ ์—ฌ๊ธฐ์„œ ๋งˆ๋ฌด๋ฆฌ ์ง€์–ด์•ผ๊ฒ ๋‹ค ใ…Žใ…Žใ…Ž

 

 

๋ฐ˜์‘ํ˜•

'๊ฐœ์ธ๊ณต๋ถ€ > Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Level 1] ์†Œ์ˆ˜ ๋งŒ๋“ค๊ธฐ  (0) 2021.05.07
[Level 1] ๋‚ด์   (0) 2021.05.06
[Level 1] ์˜ˆ์‚ฐ  (0) 2021.05.04
[Level 1] 3์ง„๋ฒ• ๋’ค์ง‘๊ธฐ  (0) 2021.05.03
[Level 1] 2016๋…„  (0) 2021.05.02

๋Œ“๊ธ€