본문 바로가기

카테고리 없음

알고리즘 27 ~ 28 , map

핸드폰 번호 가리기

문제 설명

프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.

제한 조건
  • phone_number는 길이 4 이상, 20이하인 문자열입니다.
class Solution {
    fun solution(phone_number: String): String {
        var answer = ""
        
        phone_number.toList().mapIndexed { index, i->
            if(index < phone_number.length - 4) {
                answer += "*"
            } else {
                answer += i
            }
        }  
        return answer
    }
}

 

asList() : 동일한 인스턴스를 공유하는 리스트 반환

toList() : 인스턴스를 복사하여 새로운 인스턴스를 반환합니다 

map() :   forEach()는 단순히 반복 실행만 하지만 map()은 반복실행 한 후 결과 값을 반환합니다.

mapIndexed() : map() 함수와 동일하지만 람다 함수에 인덱스까지 전달해주는 함수입니다.

 

없는 숫자 더하기

 

문제 설명

0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.


제한사항
  • 1 ≤ numbers의 길이 ≤ 9
    • 0 ≤ numbers의 모든 원소 ≤ 9
    • numbers의 모든 원소는 서로 다릅니다.
class Solution {
    fun solution(numbers: IntArray): Int {
        var answer: Int = -1
        answer = 9 * 5 - numbers.sum()
        return answer
    }
}

 

sum : 배열에 있는 모든 요소의 합계를 반환합니다.

https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/sum.html

 

728x90