본문 바로가기

IT自主学習 (2023.05.23~)/Java(2023.05.23~)

プログラミング自主学習 48日目 全体復習/Coding Test

<小文字に出力>

class Solution {
    public String solution(String myString) {
        String answer = "";
        char[] temp = myString.toCharArray();
        char ch;
        
        for(int i=0; i<temp.length; i++){
          if(temp[i]>='A'&& temp[i]<='Z'){
           ch = (char)(temp[i]+32);
          }else{
           ch = temp[i];   
          }           
        String a = String.valueOf(ch);  
        answer += a;
        }
        
        return answer;
    }
}

//Stringをcharの配列に変換し、大文字、小文字である場合をif-else caseに分けた。
=も演算子であるため、自動的にintに変換されるため、char変数に代入しようとしてもできなかった。
キャストで問題を解決し、文字列に変換して、またプラスした。

String answer = myString.toLowerCase();

昨日勉強したメソッドだが、Stringの文字列を変換してくれろとても便利なメソッドだ。
charもStringも使用できる。



 

<配列をリータン>

class Solution {
    public int[] solution(int[] num_list, int n) {
         int[] copy_list = new int[n];  
         System.arraycopy(num_list,0,copy_list,0,n);
         return copy_list;
    }
}

今まで、配列もリータンできるの知らなかった。

 

 

<文字列配列を文字列に>

例) ["a","b","c"]  -> "abc"

class Solution {
  public String solution(String[] arr) {
    String answer = "";
     for(String a : arr)
      { answer += a; }
    return answer;
    }
   }

 

 String.join("delimiter" , arr  ) メソッドを使えば、より簡単に処理できる。

 splitメソッドと逆に、配列を文字列にする。

 

 例)String[] combine = {a,b,c};

        String answer = arr.join("zzz", combine);

    

        result : azzzbzzzc