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 |
๋๊ธ