1. 문제
programmers.co.kr/learn/courses/30/lessons/12948
2. 내가 생각했던 풀이과정
1) 기존 문자열을 자릅니다
2) 자른 문자열만큼 '*' 를 추가합니다
3) * 을 추가하는 방법은 문자열 -4 만큼의 길이를 곱하고 나머지 부분에서는 자르고 남은 문자열을 붙입니다.
3. 나의 풀이
phone_number = input()
#1
def solution(phone_number):
blockindex = len(phone_number) - 4
if(blockindex == 0):
return phone_number
else:
new_phone_number = ('*' * blockindex) + phone_number[blockindex:]
return new_phone_number
solution(phone_number)
풀이가 장황해진 이유는 테스트 케이스 9번 때문이였는데, 아마 문자열 길이가 4일 때 예외처리를 안해서 런타임 에러가 나는 것 같았다. 그래서 문자열 길이가 4일때 예외처리를 한 것이였는데, 다른 사람 풀이보니 그럴 필요가 딱히 없었다.
4. 다른 사람의 풀이
def hide_numbers(s):
return "*"*(len(s)-4) + s[-4:]
뒤의 문자열을 -로 처리하여 슬라이스를 진행한점 다시한번 생각하고 기억해야겠다.
5. 새로 알게된 점 또는 느낀점
슬라이스를 진행할때 -로 시작하는 점
문자열 곱셉이 가능하다는 것을 다시한번 기억하자
제출한 풀이에서는 아무 영향이 없는 for 문을 지우지 않고 제출하여 정답처리가 되었다,, 정답 여부도 중요하지만 최적하에 신경쓰자
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 어린 동물 찾기 (0) | 2021.04.23 |
---|---|
[프로그래머스] 역순 정렬하기 (0) | 2021.04.23 |
[프로그래머스] 2016년 (0) | 2021.01.12 |
[프로그래머스] 같은 숫자는 싫어 - 파이썬 (0) | 2020.12.31 |
[프로그래머스] 하샤드 수 - 파이썬 (0) | 2020.12.28 |
댓글