๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์•Œ๊ณ ๋ฆฌ์ฆ˜ ๐Ÿ’ก/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ํ•ธ๋“œํฐ ๋ฒˆํ˜ธ ๊ฐ€๋ฆฌ๊ธฐ python

by @ENFJ 2024. 6. 12.

 

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