1週目の解答

41223 ワード

2022.03.28

1.偶数と奇数


質問する


整数numが偶数の場合は「Even」、奇数の場合は「Odd」の関数を返します.解決策を完了してください.
🔎 内蔵
class Solution {
    public String solution(int num) {
        String answer = "";
        return answer;
    }
}

に答える


📃 コミットコード

class Solution {
    public String solution(int num) {
        if(num%2==0) return "Even";
        else return "Odd";
    }
}

💡 完全なコード

import java.util.Scanner;

public class Solution {
    static String solution(int num) {
        if(num%2==0) return "Even";
        else return "Odd";
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        System.out.println(solution(num));

    }
}

📌 説明する


偶数と奇数を区別するために、ifelse条件文と残りの演算子(%)を使用して、0ではなく偶数でEvenを返します.
3つの演算子(条件?真値:flase値)を使用して解くこともできます.
class Solution {
    public String solution(int num) {
         return (num % 2 == 0)?"Even":"Odd";
    }
}
2022.03.29

間隔2.xのn個の数字


質問する


関数解は、整数xと自然数nを含むリストを返さなければなりません.xからxで増加するnの数字です.次の制限条件を見て、条件を満たす関数、解を完成してください.
🔎 内蔵
class Solution {
    public long[] solution(int x, int n) {
        long[] answer = {};
        return answer;
    }
}

に答える


📃 コミットコード

class Solution {
    public long[] solution(int x, int n) {
        long[] answer = new long[n];
        long num = x;
        for(int i=0; i<answer.length; i++){
            answer[i]=num;
            num+=x;
        }
        return answer;
    }
}

💡 完全なコード

import java.util.Scanner;

public class Solution {
    static long[] solution(int x, int n) {
        long[] answer = new long[n];
        long num = x;
        for(int i=0; i<answer.length; i++){
            answer[i]=num;
            num+=x;
        }
        return answer;
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int x = sc.nextInt();
        int n = sc.nextInt();
        long[] arr = solution(x,n);
        for(int i=0; i<arr.length; i++)
            System.out.print(arr[i]+" ");

    }
}

📌 説明する


配列を宣言することで、x値を格納できる部屋が作成されます.for文を用いて,各部屋にxからx*nの値を加える.配列を返すため、ドメインに配列を作成し、答え値を代入および出力します.
2022.03.30

3.平均値を求める


質問する


整数を含む配列arrの平均値を返す関数を完了します.
🔎 内蔵
class Solution {
    public double solution(int[] arr) {
        double answer = 0;
        return answer;
    }
}

に答える


📃 コミットコード

class Solution {
    public double solution(int[] arr) {
        double answer = 0;
        int sum = 0;
        for(int i=0; i<arr.length; i++)
            sum += arr[i];
        answer = (double) sum/ arr.length;
        return answer;
    }
}

💡 完全なコード

import java.util.Scanner;

public class Solution {
    static double solution(int[] arr) {
        double answer = 0;
        int sum = 0;
        for(int i=0; i<arr.length; i++)
            sum += arr[i];
        answer = (double) sum/ arr.length;
        return answer;
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("입력 개수");
        int[] arr = new int[sc.nextInt()];
        for(int i=0; i< arr.length; i++)
            arr[i] = sc.nextInt();
        System.out.println(solution(arr));
    }
}

📌 説明する


メインウィンドウで、配列の長さを入力して配列を作成し、文を迂回して値を入力します.関数では、和を求めることによって、和を求めることによって平均を求める.
2022.03.31

4.携帯電話番号の遮断


質問する


プログラマのモバイルデバイスは、個人情報を保護する通知を送信すると、お客様の電話番号の一部を遮断します.
電話番号に文字列phone numberが付与されている場合、電話番号の後ろ4桁を除いて、他の数字がすべて*で上書きされている文字列は、関数に戻って解決策を完了してください.
🔎 内蔵
class Solution {
    public String solution(String phone_number) {
        String answer = "";
        return answer;
    }
}

に答える


📃 コミットコード

class Solution {
    public String solution(String phone_number) {
        String answer ="";
        String[] arr= phone_number.split("");
        for(int i=0; i<phone_number.length()-4; i++)
            arr[i] = "*";
        answer = String.join("",arr);
        return answer;
    }
}

💡 完全なコード

import java.util.Scanner;

public class Solution_0331 {
    public static String solution(String phone_number) {
        String answer ="";
        String[] arr= phone_number.split("");
        for(int i=0; i<phone_number.length()-4; i++)
            arr[i] = "*";
        answer = String.join("",arr);
        return answer;
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String phone_num = sc.next();
        System.out.println(solution(phone_num));
    }
}

📌 説明する


文字列を配列に入れるにはsplit()を使用して、文字列を配列に個別に配置します.次にfor文を用いて後ろの4桁以外の前列の数字を*に変更し,配列に入れる.その後文字列Stringを返すためにjoin()を使用して、文字列配列を文字列に結合します.
split関数:正規表現、特定の文字に基づいて文字列を分割し、配列|ex、「(カンマ)」(各文字に1つ)、「(スペース)」(など)に挿入します.
String str = "부산,제주도,가평,홍천";
String[] arr = str.split(",");
結果:arr[1]=「釜山」、arr[2]=「済州島」...
String.join関数
String str = {"부산", "제주도", "가평","홍천"};
string str = String.Join(separator, value); 
2022.04.01

5.整数平方根の判別


質問する


任意の正の整数nについて、nがある正の整数xの二乗であるか否かを判断しようとする.
nが正の整数xの平方である場合、x+1の平方を返し、nが正の整数xの平方でない場合、-1を返す関数を完了する.
🔎 内蔵
class Solution {
    public long solution(long n) {
        long answer = 0;
        return answer;
    }
}

に答える


📃 コミットコード

class Solution {
    public long solution(long n) {
        long answer = 0;
        long num = (long) Math.sqrt(n);
        if(n%Math.sqrt(n)==0) answer = (num+1)*(num+1);
        else answer = -1;
        return answer;
    }
}

💡 完全なコード

import java.util.Scanner;

public class Solution {
    public static long solution(long n) {
        long answer = 0;
        long num = (long) Math.sqrt(n);
        if(n%Math.sqrt(n)==0) answer = (num+1)*(num+1);
        else answer = -1;
        return answer;
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        long n = sc.nextLong();
        System.out.println(solution(n));
    }
}

📌 説明する


Math.入力した数をsqrt()を用いてnum変数に渡し,平方根を求めnum変数に格納し,平方根+1の平方根を求める.入力した数の平方根が整数であるかどうかを知るために,if条件文を用いてreturn値を決定するために入力した数と平方根の残数を求めた.