[伯俊]1157号,1152号/Java,Python


Baekjoon Online Judge
algorithm practice
問題をちくじ解く
7.文字列
Java/Python
5.単語の勉強
1157号
与えられた単語で最も多く使用されているアルファベットの問題を出力します.
  • Java
  • import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            String str = sc.nextLine().toUpperCase();
         
            int max = 0;
            int[] cnt = new int[26];
            char ans = '?';
    
            for (int i = 0; i < str.length(); i++) {
                cnt[str.charAt(i) - 65]++;
                if (max < cnt[str.charAt(i) - 65]) {
                    max = cnt[str.charAt(i) - 65];
                    ans = str.charAt(i);
                } else if (max == cnt[str.charAt(i) - 65]) {
                    ans = '?';
                }
            }
            System.out.println(ans);
            sc.close();
        }
    }
    charAt()関数:Stringとして格納されている文字列から文字を選択し、charタイプの関数に変換します.
  • Python
  • words = input().upper()
    alphabets = list(set(words))  
    cnt_list = []
    
    for x in alphabets :
        cnt = words.count(x)
        cnt_list.append(cnt) 
    
    if cnt_list.count(max(cnt_list)) > 1 :
        print('?')
    else :
        max_index = cnt_list.index(max(cnt_list)) 
        print(alphabets[max_index])
    文字列を受信し、重複要素を削除する変数を宣言し、使用するアルファベット数をリストに保存します.条件式を使用して出力文を記述できますが、count数値の最大値が重複している場合は?数値最大インデックスリスト値を出力またはcountします.
    6.単語の個数
    1152番
    文字数を求める問題
  • Java
  • import java.util.Scanner;
     
    public class Main {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            String str = sc.nextLine().trim();
            sc.close();
             
            if (str.isEmpty()) {
                System.out.println(0);
            } else {
                System.out.println(str.split(" ").length);
            }
        }
    }
  • Python
  • str = input().split()
    print(len(str))
    今日は文字列レベルの例です!
    文字列の分離を練習し、条件に応じて文字列をよりよく適用する必要があります.