๐ ๋งํฌ
https://programmers.co.kr/learn/courses/30/lessons/72410
๐ ์ ๊ทผ
๋ฑํ ์์
์ ๊ท์ ์ฌ์ฉํด๋ณด๊ธฐ
๐ ์ฝ๋
# ์ ๊ท์ ์ฌ์ฉ
import re
def solution(new_id):
st = new_id
st = st.lower()
st = re.sub('[^a-z0-9\-_.]', '', st)
st = re.sub('\.+', '.', st)
st = re.sub('^[.]|[.]$', '', st)
st = 'a' if len(st) == 0 else st[:15]
st = re.sub('^[.]|[.]$', '', st)
st = st if len(st) > 2 else st + "".join([st[-1] for i in range(3-len(st))])
return st
# ์ ๊ท์ ๋ฏธ์ฌ์ฉ
def solution(new_id):
answer = ''
# 1
new_id = new_id.lower()
# 2
for c in new_id:
if c.isalpha() or c.isdigit() or c in ['-', '_', '.']:
answer += c
# 3
while '..' in answer:
answer = answer.replace('..', '.')
# 4 (if-else๋ฌธ ํ ์ค์ ์ฒ๋ฆฌ)
if answer[0] == '.':
answer = answer[1:] if len(answer) > 1 else '.'
if answer[-1] == '.':
answer = answer[:-1]
# 5
if answer == '':
answer = 'a'
# 6
if len(answer) > 15:
answer = answer[:15]
if answer[-1] == '.':
answer = answer[:-1]
# 7
while len(answer) < 3:
answer += answer[-1]
return answer
๐ ํ๊ธฐ
์ ๊ท์ ์ฌ์ฉ์ ์์ง ์ด๋ ค์ด ๊ฒ ๊ฐ๋ค.. ๋์ค์ ์๊ฐ ๋ด์ ๊ณต๋ถํด๋ด์ผ ํ ๊ฒ ๊ฐ๋ค.
์ ๊ท์์ ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐ, ์์ฑ ์ฝ๋๊ฐ ์ฒ์ ์ง ์ฝ๋์ ๋น์ทํ๊ธด ํ๋๋ฐ while๋ฌธ ์ฌ์ฉ์ ๋ฌด์์์ ์ผ๋ก ํผํ๊ณ ์๋ ๊ฒ๊ณผ ๋ฐฐ์ด์ ๋ง์ง๋ง์ arr[-1]๋ก ์ฐ๋ ๊ฒ์ด ์ต๊ดํ๋์ด ์์ง ์๋ค๋ ๊ฒ์ ์์๋ค. ํ์ํ ๋ ์ฌ์ฉํ ์ ์์ ๋งํผ ์ต์ํด์ ธ์ผ ํ ๊ฒ ๊ฐ๋ค.+ isalpha(), isdigit() ๋ ์ฌ์ฉํ ์ ์ด ๊ฑฐ์ ์๋ค ใ
์ค๋ ์๋กญ๊ฒ ์์๊ฐ๋ ๊ฒ์ if-else ๋ฌธ์ ํ ์ค ์์ ์ฒ๋ฆฌํ ์ ์๊ฒ ํ๋ ๋ฒ์ด๋ค.
ํ ์ค ์์ if-else ์ฌ์ฉํ๊ธฐ :: ๊ฒฐ๊ณผ = A if ์กฐ๊ฑด else B
# answer์ ๊ธธ์ด๊ฐ 1๋ณด๋ค ํด ๊ฒฝ์ฐ answer[1:] ๋ฐํ,
# answer์ ๊ธธ์ด๊ฐ 0,1์ธ ๊ฒฝ์ฐ '.' ๋ฐํ
answer = answer[1:] if len(answer) > 1 else '.'
# ๊ฒฐ๊ณผ = A if ์กฐ๊ฑด else B
'Coding Test Practice' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ง์ง์ด ์ ๊ฑฐํ๊ธฐ (0) | 2024.04.04 |
---|---|
๊ตฌ๋ช ๋ณดํธ (1) | 2024.04.04 |
N๊ฐ์ ์ต์๊ณต๋ฐฐ์ (0) | 2024.04.04 |
[Coding Test Practice] ๊ฐ์ฅํฐ์ ํ์ด์ฌ (0) | 2021.10.21 |
[Coding Test Practice] ์คํ์ฑํ ๋ฐฉ ํ์ด์ฌ (0) | 2021.10.19 |