일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- stack
- silver3
- 다크모드제한
- bronze3
- Kotlin
- map
- 녹음기
- Alert Dialog
- gradle설정
- 백준
- 프로그래머스
- silver4
- toLong()
- bottom-up
- 테마변경
- Android
- Top-Down
- RETROFIT
- bronze2
- 뷰클래스
- LIS
- LV1
- naver open api
- bronze4
- dp
- RecyclerView
- 임시저장하기
- Silver5
- fragment에서 context사용
- recyclerView 클릭이벤트
Archives
- Today
- Total
유니 코드
[PGS/프로그래머스][Lv1] 핸드폰 번호 가리기(Kotlin) 본문
[문제 설명]
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
[제한 조건]
- phone_number는 길이 4 이상, 20이하인 문자열입니다.
[입출력 예]
phone_number | return |
"01033334444" | "*******4444" |
"027778888" | "*****8888" |
[풀이]
핸드폰 번호 맨 뒤 네자리를 제외한 나머지 숫자들을 *로 바꿔서 반환하는 문제
나는 간단하게 핸드폰 번호 길이만큼 반복문을 돌면서
만약 뒤 네자리가 아니면 *을 answer에 넣고 맨 뒤 네자리이면 해당 숫자를 넣어주었다.
- 내가 실수한 점 : 요새 계속 배열을 써서 그런지 문자열 길이를 구할 때 size를 사용했다..
다른 사람의 코드를 살펴보니 다 비슷한데
return answer + phone_number.slice(last - 3..last)
이런 식으로 *만 다 넣고 뒤에 네자리는 slice를 붙여서 리턴하는 방법도 좋은 것 같다..!
[코드]
class Solution {
fun solution(phone_number: String): String {
var answer = ""
for(i in 0 until phone_number.length){
if(i >= phone_number.length - 4) answer += phone_number[i]
else{answer += "*"}
}
return answer
}
}
'알고리즘 > 미분류' 카테고리의 다른 글
[PGS/프로그래머스][Lv1] 행렬의 덧셈(Kotlin) (0) | 2022.05.12 |
---|---|
[PGS/프로그래머스][Lv1] 하샤드 수(Kotlin) (0) | 2022.05.10 |
[PGS/프로그래머스][Lv1] 3진법 뒤집기(Kotlin) (0) | 2022.05.09 |
[PGS/프로그래머스][Lv1] 정렬 : K번째수(Kotlin) (0) | 2022.05.08 |
Comments