0
0

More than 1 year has passed since last update.

Bランクレベルアップメニュー 文字と整数の組のソート Java 解答

Last updated at Posted at 2022-10-17

STEP: 36 インクリメント

問題

解答

step36.java
import java.util.*;


public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int result = addUp(n, 1);
        System.out.println(result);
    }
    
    /**
     * nとmの足し算する関数
     * 流用性を高める為に足し算する数字は任意で決めれるようにする
     * 
     * @param n 標準入力
     * @param m nに足したい数字
     * 
     * @return 足し算結果
     * */
    public static int addUp(int n, int m){
        return n + m;
    }
}

結果

image.png

STEP: 37 数字のみの出力

問題

解答

step37.java
import java.util.*;


public class Main {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        // 改行
        sc.nextLine();
        displayNumbers(n, sc);
    }
    
    /**
     * 数字を表示する関数
     * 行数が指定されている為、whileではなくfor文を使用
     * 
     * @param n 行数
     * @praam sc 標準入力
     * */
    public static void displayNumbers(int n, Scanner sc){
        for(int i = 0; i < n; i++){
            sc.next();
            System.out.println(sc.nextInt());
        }
    }
}

結果

image.png

STEP: 38 昇順ソート出力

問題

解答

step.java
import java.util.*;


public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        // 改行
        sc.nextLine();
        String line = sc.nextLine();
        
        // 文字の配列を作成
        String[] strArray = line.split(" ");
        
        // 整数の配列を作成する
        int[] intArray = createAnArrayOfNumbers(n, strArray);
        
        // ソート表示する
        toSort(n, intArray);
    }
    
    /**
     * 整数の配列を返却する関数
     * 
     * @param n 配列数
     * @param strArray 文字の配列
     * 
     * @return 整数の配列
     * */
    public static int[] createAnArrayOfNumbers(int n, String[] strArray){
        int[] intArray = new int[n];
        for(int i = 0; i < n; i++){
            intArray[i] = Integer.valueOf(strArray[i]);
        }
        
        return intArray;
    }
    
    /**
     * ソートする
     * 
     * @param n 配列数
     * @param intArray 文字の配列
     * */
    public static void toSort(int n, int[] intArray){
        Arrays.sort(intArray);
        for(int a: intArray){
            System.out.println(a);
        }
    }
}

結果

image.png

FINAL問題 文字と整数の組のソート

問題

解答

final.java
import java.util.*;


public class Main {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        sc.nextLine();
        showSortResults(n, sc);
        sc.close();
    }
    
    /**
     * 数字を昇順にソートし数字の対応する文字を表示する関数
     * 
     * @param n 行数
     * @param sc 文字と整数の組み合わせ標準入力
     * */
    public static void showSortResults(int n,  Scanner sc){
        Map<Integer, String> map = new HashMap<>();
        int[] intArray = new int[n]; 
        for(int i = 0; i < n; i++){
            String value = sc.next();
            int key = sc.nextInt();
            map.put(key, value);
            intArray[i] = key;    
        }  
        
        // Keyのソート
        Arrays.sort(intArray);
        for(int i = 0; i < n; i++){
            System.out.println(map.get(intArray[i]));
        }
    }
}

結果

image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0