| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
Tags
- 1932
- Java
- 깃허브
- DP
- 프로그래멋
- 그래프탐색
- 알고리즘
- Python
- 다익스트라
- 구현
- 알고리즘고득점Kit
- 정수 삼각형
- 월간 코드 챌린지 시즌1
- 조합
- 백준
- 프로그래머스
- Summer/Winter Coding(~2018)
- 이코테
- GIT
- 분할정복
- BFS
- dfs
- Lv2
- 정렬
- 15686
- 완전탐색
- 토마토
- 자바
- 그래프
- 깃허브 프로필
Archives
- Today
- Total
갱스터하우스
[Python] Lv1.핸드폰 번호 가리기 본문
https://programmers.co.kr/learn/courses/30/lessons/12948
문제 설명
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
제한 조건
- phone_number는 길이 4 이상, 20이하인 문자열입니다.
나의 접근 방법 및 풀이
문제를 보자마자 이거 슬라이싱이다 했다.
근데 뭔가 한 줄로 풀 수 있을 것 같은데 생각대로 잘 되지 않았다. 그래서 결국 for문을 이용해서 번호의 뒷 네자리 전까지 횟수만큼(?) answer에 '*'을 더하고, for문 종료후 남은 뒷 번호 4자리를 붙여서 return 했다.
def solution(phone_number):
answer = ''
for i in range(len(phone_number[:-4])):
answer += '*'
answer += phone_number[-4:]
return answer
<다른 풀이>
def solutions(s):
return "*"*(len(s)-4) + s[-4:]
내 코드 중 2줄의 for문의 답은 문자열의 곱셈이었다. 저번에도 그렇지만, 문자열의 곱셈의 생각이 잘 안난다.
앞의 자릿수만큼 "*"을 곱하고 뒤의 문자열은 더해주기.
'코테 문제 > 프로그래머스' 카테고리의 다른 글
| [Python] Lv1.x만큼 간격이 있는 n개의 숫자 (0) | 2022.04.08 |
|---|---|
| [Python] Lv1.문자열 다루기 기본 (0) | 2022.04.08 |
| [Python] Lv1.하샤드 수 (0) | 2022.04.08 |
| [Python] Lv1.수박수박수박수박수박수? (0) | 2022.04.07 |
| [Python] Lv1. 콜라츠 추측 (0) | 2022.04.07 |