[JAVA]CodeUpアップグレードベース100制



📚CodeUp基礎100題


📕[ベース-出力]001~1008

#1001C/C++言語で最も基本的なコマンドは出力文です.
printf()を使用して、次の単語を出力します.
Hello
public class Main{
    public static void main(String[] args){
        System.out.println("Hello");
    }
}
#1002今回はスペース()を含む文章を印刷します.
次の文を印刷します.
HelloWorld(大文字と小文字に注意)
public class Main{
    public static void main(String[] args){
        System.out.println("Hello World");
    }
}
#1003今回は改行印刷の出力文を練習します.
次のように改行して印刷する必要があります.
Hello
World
(2行改行出力)
public class Main{
    public static void main(String[] args){
         System.out.println("Hello\nWorld");
    }
}
#1004これは一重引用符を含む
特殊な形式の出力文を練習します.
次の文を印刷してください.
'Hello'
public class Main{
    public static void main(String[] args){
        System.out.println("'Hello'");
    }
}
#1005今回は二重引用符を含む出力文を練習します.
次の文を印刷してください.
「HelloWorld」(二重引用符を同時に出力)
public class Main{
    public static void main(String[] args){
        System.out.println("\"Hello World\"");
    }
}
#1006今回は特殊文字出力に挑戦しましょう!!
次の文を印刷してください.
「!@#$%^&*()」(ただし、二重引用符も出力します.)
public class Main{
    public static void main(String[] args){
      System.out.println("\"!@#$%^&*()\"");
    }
}
#1007出力ウィンドウオペレーティングシステムのファイルパスを練習します.
ファイルパスには特殊文字が含まれています.
次のパスを出力してください.
「C:Downloadhello.cpp」(二重引用符を同時に出力)
public class Main{
    public static void main(String[] args){
     System.out.println("\"C:\\Download\\hello.cpp\"");
    }
}
#1008今度は特殊文字を印刷する練習をします.
キーボードで入力できない次のシェイプを印刷しましょう.
(**注意:オペレーティングシステムのテキストシステムによっては、以下の外観が出力されない場合があります.)
┌┬┐
├┼┤
└┴┘
public class Main{
    public static void main(String[] args){
     System.out.println("\u250C\u252C\u2510");
     System.out.println("\u251C\u253C\u2524");
     System.out.println("\u2514\u2534\u2518");
    }
}

📘[基本-I/O]1010~1027

#1010 정수 1개 입력받아 그대로 출력하기変数を整数(int)として宣言し、整数値を変数に格納します.
変数に格納されている値をそのまま出力しましょう.
import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		System.out.println(n);
	}
}
#1011 문자 1개 입력받아 그대로 출력하기変数を文字(char)として宣言し、変数に保存します.
変数に格納されている文字を直接出力しましょう.
import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
        char x = sc.next().charAt(0);
        System.out.println(x);
	}
}
#1012 실수 1개 입력받아 그대로 출력하기変数を実数(float)として宣言し、その変数に実数値を格納します.
保存した実数値を出力します.
import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		float x = sc.nextFloat();
		System.out.printf("%.6f", x);
	}
}
#1013 정수 2개 입력받아 그대로 출력하기2個の整数(int)を入力し、そのまま出力します.
import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		int b = sc.nextInt();
		System.out.println(a + " " + b);
	}
}
#1014 문자 2개 입력받아 순서 바꿔 출력하기2文字(ASCII CODE)を入力し、順次出力します.
import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		char x = sc.next().charAt(0);
		char y = sc.next().charAt(0);
		System.out.printf("%s %s", y, x);
	}
}
#1015 실수 입력받아 둘째 자리까지 출력하기実数(float)を受け入れて保存します.
格納された値を小数点の3番目の四捨五入します.
小数点以下の2番目に印刷してください.
import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		float a = sc.nextFloat();
		System.out.printf("%.2f", a);
	}
}
#1017 정수 1개 입력받아 3번 출력하기int型整数を1個入力し、スペースを挟んで3回印刷します.
import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		for(int i = 0; i < 3; i++) {
			System.out.printf("%d ",a);
		}
	}
}
#1018 시간 입력받아 그대로 출력하기入力した時間を何らかのフォーマットで入力すると、そのまま出力する練習をします.
「:」で区切って、->時(時間)と分(分)を入力します.
出力->入力した時間を「時:分」形式で出力します.
import java.util.Scanner;
import java.util.StringTokenizer;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String time = sc.nextLine();
		StringTokenizer st = new StringTokenizer(time, ":");
		int[] arr = new int[st.countTokens()];
		for(int i = 0; st.hasMoreTokens(); i++)
			arr[i] = Integer.parseInt(st.nextToken());
		System.out.println(arr[0] + ":" + arr[1]);
	}
}
#1019 연월일 입력받아 그대로 출력하기年、月、日を入力し、指定したフォーマットで出力する練習をします.
「.(5)」と入力します.
出力->入力した年、月、日はyyyです.mm.dd形式で出力します.
(1桁の場合は、前に0を付けて出力します.)
import java.util.Scanner;
import java.util.StringTokenizer;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String ymd = sc.nextLine();
		StringTokenizer st = new StringTokenizer(ymd, ".");
		int[] arr = new int[st.countTokens()];
		for(int i = 0; st.hasMoreTokens(); i++)
			arr[i] = Integer.parseInt(st.nextToken());
		System.out.printf("%04d.%02d.%02d", arr[0], arr[1], arr[2]);
	}
}
#1020 주민번호 입력받아 형태 바꿔 출력하기入力->身分証明書番号の上位6桁と下位7桁は「-」に分けられます.
(入力値は仮想のID番号です.)
出力->"-"を除き、13ビットのID番号がすべて貼り付けられて出力されます.
import java.util.Scanner;
import java.util.StringTokenizer;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String yymmdd = sc.nextLine();
		StringTokenizer st = new StringTokenizer(yymmdd, "-");
		int[] arr = new int[st.countTokens()];
		for(int i = 0; st.hasMoreTokens(); i++)
			arr[i] = Integer.parseInt(st.nextToken());
		System.out.printf("%06d%7d", arr[0], arr[1]);
	}
}
#1021 단어 1개 입력받아 그대로 출력하기単語を入力し、そのまま出力します.
import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println(sc.nextLine());
	}
}
#1022 문장 1개 입력받아 그대로 출력하기スペース文字を含む文を入力し、そのまま出力する練習をしてみましょう.
import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println(sc.nextLine());
	}
}
#1023 실수 1개 입력받아 부분별로 출력하기実数を1つ入力し、整数部と実数部に分けて出力します.
**解決策はいくつかあります.
import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String number = Double.toString(sc.nextDouble());
		String[] arr = number.split("\\.");
		System.out.printf("%s\n%s", arr[0], arr[1]);
	}
}
// 정규표현식에서 점(.)은 하나의 문자와 대응하는 일종의 메타문자이기 때문에
// 문자 그대로 특수문자를 구분자로 사용하고 싶을 경우에는 이스케이프 문자인 "\\"를 앞에 붙여줘야 한다.
#1024 단어 1개 입력받아 나누어 출력하기単語の入力を受け入れます.
入力した単語(英語)の各文字を行ごとに分離して出力します.
サンプル入力->Boy
出力例->
'B'
'o'
'y'
import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String str = sc.nextLine();
		for(int i = 0; i < str.length(); i++) {
		    System.out.println("\'" + str.charAt(i) + "\'");
		}
	}
}
#1025 정수 1개 입력받아 나누어 출력하기5桁の整数を1個入力し、桁ごとに出力します.
入力->5つの位置からなる1つの整数を入力します.
(ただし、10000<=入力数<=99999)
出力->各数値を分割し、1行ずつ[]に出力します.
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);        
        String a = sc.next();
        char [] arr = a.toCharArray();   
        for(int i = 0; i < arr.length; i++) {
            System.out.print("[" + arr[i]);
            for(int j = arr.length - 1; j > i; j--) { 
                System.out.print("0");
            }
            System.out.println("]");
        }
    }
}
#1026 시분초 입력받아 분만 출력하기入力時:分:秒から出力します.
入力例->17:23:57
出力例->23
import java.util.Scanner;
import java.util.StringTokenizer;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);        
        String time = sc.nextLine();
		StringTokenizer st = new StringTokenizer(time, ":");
		int[] arr = new int[st.countTokens()];
		for(int i = 0; st.hasMoreTokens(); i++)
			arr[i] = Integer.parseInt(st.nextToken());
		System.out.println(arr[1]);
    }
}
#1027 년월일 입력 받아 형식 바꿔 출력하기年月日の印刷方法は国によって形式が異なります.
年月日(yyyy.mm.dd)を入力します.
1月(dd-mm-yyyy)に出力します.
(ただし、1桁の日付/月は0、2桁、年も0で4桁に出力されます.)
import java.util.Scanner;
import java.util.StringTokenizer;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);        
        String yymmdd = sc.nextLine();
		StringTokenizer st = new StringTokenizer(yymmdd, "\\.");
		int[] arr = new int[st.countTokens()];
		for(int i = 0; st.hasMoreTokens(); i++)
			arr[i] = Integer.parseInt(st.nextToken());
		System.out.printf("%02d-%02d-%04d%n",arr[2], arr[1], arr[0]);
    }
}

📒[基本データ型]1028~1030

#1028 정수 1개 입력받아 그대로 출력하기2整数を1つ入力し、そのまま出力します.
(ただし、入力される整数の範囲は0~4294967295です.)
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        long n = sc.nextLong();
        System.out.println(n);
    }
}
#1029 실수 1개 입력받아 그대로 출력하기2エラーを入力し、直接出力します.
入力->小数点以下で11未満の実数を入力します.
(ただし、入力エラーの範囲は+-1.710-308~+-1.710308です.)
出力->入力エラーを小数点以下11桁に四捨五入します.
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        double a = sc.nextDouble();
        String a1 = String.format("%.11f", a);
        System.out.println(a1);
    }
}
#1030 정수 1개 입력받아 그대로 출력하기3整数を1つ入力し、そのまま出力します.
ただし、入力した整数の範囲は
-922372036854775808~+9223372036854775807.
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        long n = sc.nextLong();
        System.out.println(n);
    }
}

📗[基本出力変換]1031~1037

#1031 10진 정수 1개 입력받아 8진수로 출력하기10進数を入力し、8進数を出力します.
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        String octal = Integer.toOctalString(n);
        System.out.println(octal);
    }
}
#1032 10진 정수 입력받아 16진수로 출력하기110進数を入力し、16進数を出力します.
(小文字で出力)
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        // String hex = Integer.toHexString(n);
        // System.out.println(hex);
        System.out.printf("%h",n);
    }
}
#1033 10진 정수 입력받아 16진수로 출력하기210進数を入力し、16進数を出力します.
(大文字で出力)
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        System.out.printf("%X",n);
    }
}
#1034 8진 정수 1개 입력받아 10진수로 출력하기入力が8進数の整数を10進数出力に変換します.
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
        String num = sc.nextLine();
        int n = Integer.parseInt(num, 8);
        System.out.println(n);
    }
}
#1035 16진 정수 1개 입력받아 8진수로 출력하기16進数で入力された整数を8進数出力に変換します.
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
        String num = sc.nextLine();
        int n = Integer.parseInt(num, 16);
        System.out.printf("%o%n", n);
    }
}
#1036 영문자 1개 입력받아 10진수로 출력하기英語の文字を1文字入力し、Askyコードテーブルの10進数値に出力します.
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
    	char a = sc.nextLine().charAt(0);
    	System.out.println((int)a);
    }
}
#1037 정수 입력받아 아스키 문자로 출력하기10進数の整数を入力し、アズキ文字で出力します.
ただし、0~255の範囲の整数のみを入力します.
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
    	int a = sc.nextInt();
    	System.out.println((char)a);
    }
}

📙[基礎-算術演算]1038~1046

#1038 정수 2개 입력받아 합 출력하기1プログラムを作成し、2つの整数を入力し、和を出力します.
(ただし、入力された整数は-1073741824~107374824です.)
import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		long n1 = sc.nextInt();
		long n2 = sc.nextInt();
		System.out.println(n1+n2);
	}
}
#1039 정수 2개 입력받아 합 출력하기22つの整数出力和を入力します.
ただし、入力した整数は-21783648~+21783648です.
import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		long n1 = sc.nextLong();
		long n2 = sc.nextLong();
		System.out.println(n1+n2);
	}
}
#1040