코딩 테스트/Level 1

10. 핸드폰 번호 가리기

컴닥 2019. 10. 8. 23:45
반응형

https://programmers.co.kr/learn/courses/30/lessons/12948

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

파이썬

 

def solution(phone_number):
    return '*' * (len(phone_number) - 4) + phone_number[-4:]

 

자바스크립트

function solution(s) {
    return '*'.repeat(s.length-4).concat(s.slice(-4));
}

 

자바

클래식합니다. 

class Solution {
  public String solution(String phone_number) {
     char[] ch = phone_number.toCharArray();
     for(int i = 0; i < ch.length - 4; i ++){
         ch[i] = '*';
     }
     return String.valueOf(ch);
  }
}

 

고도 슬라이스가 됩니다.

(음수값은 안됨, 고는 바른 생활 사나이 같은 느낌이...)

func solution(phone_number string) string {
	test := "********************"
    length := len(phone_number)
	return test[:length-4] + phone_number[length-4:length]
}
func solution(s string) string {
	return "********************"[:len(s)-4] + s[len(s)-4:]
}

 

코틀린

class Solution {
    fun solution(n: String) = "*".repeat(n.length - 4) + n.slice(n.length - 4 until n.length)
}

 

C#

public class Solution
{
    public string solution(string phone_number) =>
        string.Concat(new char[phone_number.Length - 4]).Replace('\0', '*') + phone_number.Substring(phone_number.Length - 4);
}

 

Rust

fn solution(a: &str) -> String {
    let mut result = "".to_owned();
    for _ in 1..=(a.len() - 4) {
        result += "*";
    }
    for i in (a.len() - 4)..a.len() {
        result += &a[i..i + 1];
    }
    result
}

fn main() {
    println!("{}", solution("123456789"));
}
반응형