코틀린(Kotlin)/프로그래머스

[프로그래머스/코틀린(Kotlin)] 핸드폰 번호 가리기

초보왕보초 2023. 11. 1. 20:34
728x90

끝자리 4개를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하기

예시)

 

풀이

  • mutableList 사용하기
  • List에서 Set을 사용하여 뒷자리를 제외한 나머지 숫자를 *로 수정해 주기
  • joinToString 사용하기

 

제출 코드

(코드 해석해 보기)

배열을 mutableList를 사용해서 리스트화시킨다.

length-4까지만(처음부터 끝에서 5번째까지만) 반복시킨다

set을 사용해서 처음부터 끝에서 5번째까지의 인덱스의 값을 *로 수정해 준다

joinToString("")을 이용해서 출력 시에 구분자(,)를 없애준다

 

 

 


 

 

 

 

배열을 보고 리스트화를 이용해서 쉽게 풀 수 있을 줄 알았다

Set을 사용해서 리스트 속 인덱스 수정까지는 떠올랐기 때문이다

하지만 joinToString을 몰랐었던 내게 큰 시련이 왔다 

 

 

return answer.toString()으로 썼을 때

이전까지 배열 속 문자열을 반환할 때 toString()을 쓰던 것에 익숙해져서 이대로 리턴 시켰다

 

 

return answer.toString() 결과

결괏값에 구분자(,)가 자꾸 나와서 이게 무슨 일인가 싶었다..

코틀린에서 기본적인 배열 출력 형식은 [데이터, 데이터, 데이터...] 형식이기 때문에 그렇다고 한다

한참을 헤매다 joinToString이라는 것을 알게 되었다..

joinToString은 배열 데이터 출력 형식을 변경할 때 사용하는데, 

joinToString(구분자, 시작, 종료)에 각각 넣고 싶은 것을 넣으면 배열 출력 형식을 바꿔 줄 수 있다

 

 

 

728x90