[programmers]携帯電話番号を隠す-JAVA


📄 問題の説明
プログラマのモバイルデバイスは、個人情報を保護する通知を送信すると、お客様の電話番号の一部を遮断します.
電話番号が文字列phone numberとして指定されている場合は、前の番号の後ろの4桁を除くすべての数字が*で上書きされた文字列の関数を返し、解決策を完了してください.
📑 せいげんじょうけん
  • sは、長さが4より大きく、20より小さい文字列です.
  • 🔐 入出力例
    phone_numberreturn"01033334444""*******4444""027778888"*****8888"
    👨🏻‍💻 私が書いたコード
    class Solution {
        public String solution(String phone_number) {		 
    	StringBuilder answer = new StringBuilder(phone_number);
    		 
    	for(int i = 0; i < phone_number.length()-4; i++) {
    		answer.setCharAt(i, '*');
    	}
    	return answer.toString();
        }
    }
    
    👨🏻‍🏫 コード解析
    StringBuilder:Stringオブジェクトを追加するときに新しいオブジェクトを作成しないため、比較的高速でメモリ使用率も高くなります.

  • 後ろの4桁は数字表現が必要なので、phone_number.length()-4をします.

  • StringBuilderの組み込み関数setCharAt(int index,charch)を使用して、指定されたインデックスの文字を指定された文字に置き換えます.

  • StringBuilderは文字列を抽出します.TOString()を使用します.