[ํ๋ก๊ทธ๋๋จธ์ค] ํธ๋ํฐ ๋ฒํธ ๊ฐ๋ฆฌ๊ธฐ python

https://school.programmers.co.kr/learn/courses/30/lessons/12948
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
def solution(phone_number):
# ์ ํ๋ฒํธ์ ๊ธธ์ด๋ฅผ ๊ตฌํ๋ค.
length = len(phone_number)
# ๋ท 4์๋ฆฌ๋ฅผ ์ ์ธํ ์๋ถ๋ถ์ *๋ก ๋์ฒดํ๋ค.
masked_part = '*' * (length-4)
# ๋ง์ง๋ง 4์๋ฆฌ๋ฅผ ์ถ์ถํฉ๋๋ค.
last_part = phone_number[-4:]
# ๋ ๋ถ๋ถ์ ํฉ์ณ์ ๋ฐํํ๋ค.
return masked_part + last_part
# ์์ ํ
์คํธ
print(solution("01033334444")) # ์ถ๋ ฅ: *******4444
print(solution("027778888")) # ์ถ๋ ฅ: *****8888
๋ฌธ์์ด ์ฌ๋ผ์ด์ฑ
๋ฌธ์์ด ์ฌ๋ผ์ด์ฑ์ ๋ฌธ์์ด์ ํน์ ๋ถ๋ถ์ ์ ํํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ์ฌ๋ผ์ด์ฑ์ ๊ธฐ๋ณธ ๊ตฌ๋ฌธ์ string[start:end] ํํ๋ก ์ฌ์ฉ๋ฉ๋๋ค. ์ฌ๊ธฐ์ start๋ ์์ ์ธ๋ฑ์ค๋ฅผ, end๋ ๋ ์ธ๋ฑ์ค๋ฅผ ์๋ฏธํฉ๋๋ค. ์ฌ๋ผ์ด์ฑ์ ๊ฒฐ๊ณผ๋ start ์ธ๋ฑ์ค์์ ์์ํ์ฌ end ์ธ๋ฑ์ค ์ด์ ๊น์ง์ ๋ฌธ์์ด์ ํฌํจํฉ๋๋ค.
์์ ์ธ๋ฑ์ค
ํ์ด์ฌ์์๋ ์์ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์์ ์ธ๋ฑ์ค๋ ๋ฌธ์์ด์ ๋์์๋ถํฐ ์ธ๋ฑ์ค๋ฅผ ์ ๋๋ค. ์๋ฅผ ๋ค์ด, -1์ ๋ฌธ์์ด์ ๋ง์ง๋ง ๋ฌธ์๋ฅผ, -2๋ ๋ง์ง๋ง์์ ๋ ๋ฒ์งธ ๋ฌธ์๋ฅผ ์๋ฏธํฉ๋๋ค.
[-4:]์ ์๋ฏธ
string[-4:]๋ ๋ฌธ์์ด string์ ๋์์ 4๊ฐ์ ๋ฌธ์๋ฅผ ์ ํํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ์ด ์ฌ๋ผ์ด์ฑ ๊ตฌ๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ด ๋์ํฉ๋๋ค:
- -4๋ ๋ฌธ์์ด์ ๋์์ 4๋ฒ์งธ ๋ฌธ์๋ฅผ ์๋ฏธํฉ๋๋ค.
- : ๋ค์ ์๋ฌด๊ฒ๋ ์์ผ๋ฉด ๋ฌธ์์ด์ ๋๊น์ง ์ ํํฉ๋๋ค.
๋ฐ๋ผ์, [-4:]๋ ๋ฌธ์์ด์ ๋์์ 4๊ฐ์ ๋ฌธ์๋ฅผ ํฌํจํ๋ ๋ถ๋ถ ๋ฌธ์์ด์ ๋ฐํํฉ๋๋ค.
์์
๋ช ๊ฐ์ง ์์ ๋ฅผ ํตํด [-4:]์ ๋์์ ํ์ธํด ๋ณด๊ฒ ์ต๋๋ค.
# ์์ ๋ฌธ์์ด
phone_number = "01033334444"
# ๋์์ 4์๋ฆฌ ์ถ์ถ
last_part = phone_number[-4:]
print(last_part) # ์ถ๋ ฅ: 4444
# ๋ค๋ฅธ ์์
example1 = "1234567890"
example2 = "abcdefghij"
print(example1[-4:]) # ์ถ๋ ฅ: 7890
print(example2[-4:]) # ์ถ๋ ฅ: ghij