落書きノート

ふと自分が気になった事を書いてます

Javaで問題を解く

1.1の問題の続きです。1.2はまた後でやります。まずはHashtableだけを。これを使うと考えるのがかなり楽になってすっきりしました。

世界で闘うプログラミング力を鍛える本 ~コーディング面接189問とその解法~

世界で闘うプログラミング力を鍛える本 ~コーディング面接189問とその解法~

import java.util.Scanner;
import java.util.Hashtable;

class q1_1_first {
    public static void main(String[] args) {
        Hashtable<String, Integer> numbers =
            new Hashtable<String, Integer>();
        Scanner scan = new Scanner(System.in);
        String input = scan.nextLine();
        String[] str = input.split("");
        boolean flag = true;
        for(String s : str) {
            numbers.put(s, 0);
        }
        for(int i = 0; i < str.length; i++) {
            if(numbers.get(str[i]) == 1) {
                System.out.println("固有の文字列ではありません。");
                flag = false;
                break;
            }
            if(numbers.containsKey(str[i]))
                numbers.put(str[i], 1);
        }
        if(flag)
            System.out.println("固有の文字列です。");
    }
}

もう少し寝てから活動を再開かな。