이번 문제는 사실 내가 진행했던 개인 프로젝트에 적용하고 싶었던 내용 중 하나이다.
사용자가 로그인하면 아이디나 이메일을 앞의 2~3자리를 제외하고 나머지 부분을 모두 *로 변환해서
게시글 작성자를 다른 사람들이 볼 수 있도록 하려고 했다.
그런데, 내 프로젝트를 보완하는 것도 중요하지만 요즘 더 중요하다고 생각되는 몇 가지 공부할 것들이 생겨서 우선 순위가 밀리게 되었다.
아무튼 문제를 살펴보자!
문제
먼저 입출력 자료형을 봤을 때 둘 다 String형이다.
그러고 나서 이 문제를 보니 단순히 맨 끝 4자리만 놔두고 그 전까지 반복문을 통해 *로 문자열을 바꿔주면 될 것이라 생각했다.
그래서 자바에서는 String형 변수의 인덱스에 해당하는 글자를 charAt() 메소드로 가져올 수 있었다.
코틀린에서는 get() 메소드로 인덱스에 해당하는 문자를 가져올 수 있었다.
다른 방법으로는 배열처럼 []를 사용해 안에 인덱스 번호를 주면 똑같은 동작을 시킬 수 있었다.
내가 이해하고 있는 차이점은 get()은 보다시피 메소드이고,
[]를 사용해 인덱스 번호로 호출하는 것은 어떻게 검색해야할지 몰라서 안드로이드 스튜디오의 편집기 기능을 빌려 보니
영어로는 indexing operator라고 한다.
구글에 찾아보니 연산자 오버로딩에 관련된 코틀린 공식 문서가 있었다.
https://kotlinlang.org/docs/operator-overloading.html#indexed-access-operator
풀이
내 기준으로 가장 알아보기 쉬운 코드로 작성해보았다.
문제에 써있는 순서대로 말하듯이 썼다고 해야할까?
주어지는 phone_number의 첫번째 인덱스부터 마지막 4글자전까지는 answer 변수에 "*"을 추가하고,
이후 마지막 4글자는 주어진 글자 그대로를 리턴될 answer 변수에 추가했다.
더 생각해보면 코드를 간결하게 작성할수도 있을 것 같지만
다른 문제를 풀어보는게 우선이라 이만하고 넘어가보기로 했다.
'프로그래머스' 카테고리의 다른 글
수박수박수박수? 코틀린(Kotlin) (0) | 2022.08.04 |
---|---|
없는 숫자 더하기 코틀린(Kotlin) (0) | 2022.08.03 |
정수 제곱근 판별 코틀린(Kotlin) (0) | 2022.07.31 |
서울에서 김서방 찾기 코틀린(Kotlin) (0) | 2022.07.29 |
가운데 글자 가져오기 코틀린(Kotlin) (0) | 2022.07.28 |