伯准Baekjoon拍2966回-JAVA
https://www.acmicpc.net/problem/2966
質問する
尚根、昌英、ヒョンジンは歴史と伝統を持つSogang ACM-ICPCチームに入りたい.しかし、参加したい応募者はすべてC言語筆記試験に合格しなければならない.彼らはC言語が話せない.だから、筆記試験を全部撮りたいです.
相根はA B C A B C A B B B B C A B B B B B C『赤い字』と一緒に撮るべきだと思います.
しかし昌英はB A B C B A B B C B B B B B B B B Cこんな撮り方とは満点の近道だと思います.
最後にヒョンジンは尚根と昌英C C A B C A B C A B C B B B Bを嘲笑した.一緒に撮らないと通れない.
筆記試験の答えが正しければ、相根(サングン)、昌英(チャンヨン)、鉉辰(ヒョンジン)の中で一番多かった人が誰なのかを調べるプログラムを書く.
入力
1行目はペンの試験問題の個数Nを与える.(1 ≤ N ≤ 100)
2行目は試験の正解を出します.
しゅつりょく
1行目の正解が一番多い人は、何問正解したかを印刷します.
次の行は、最も多くの質問に答えた人のIDを出力します.尚根のIDはアリアン昌英のIDはブルーノヒョンジンのIDはゴラン複数のIDを出力する場合は、上根、昌英、ヒョンジンの順に出力し、行ごとに1つずつ出力する.
入力例1説明 時間ぶりの質問...早く簡単に作り直すべきではないでしょうか...経験は富だと思うので をやり遂げました・・・元服のデザインが速くて洗練されています...瑕疵 MapにMapを入れた構造になっていて、あまり良い感じではありません...間違えたのか...?
質問する
尚根、昌英、ヒョンジンは歴史と伝統を持つSogang ACM-ICPCチームに入りたい.しかし、参加したい応募者はすべてC言語筆記試験に合格しなければならない.彼らはC言語が話せない.だから、筆記試験を全部撮りたいです.
相根はA B C A B C A B B B B C A B B B B B C『赤い字』と一緒に撮るべきだと思います.
しかし昌英はB A B C B A B B C B B B B B B B B Cこんな撮り方とは満点の近道だと思います.
最後にヒョンジンは尚根と昌英C C A B C A B C A B C B B B Bを嘲笑した.一緒に撮らないと通れない.
筆記試験の答えが正しければ、相根(サングン)、昌英(チャンヨン)、鉉辰(ヒョンジン)の中で一番多かった人が誰なのかを調べるプログラムを書く.
入力
1行目はペンの試験問題の個数Nを与える.(1 ≤ N ≤ 100)
2行目は試験の正解を出します.
しゅつりょく
1行目の正解が一番多い人は、何問正解したかを印刷します.
次の行は、最も多くの質問に答えた人のIDを出力します.尚根のIDはアリアン昌英のIDはブルーノヒョンジンのIDはゴラン複数のIDを出力する場合は、上根、昌英、ヒョンジンの順に出力し、行ごとに1つずつ出力する.
入力例1
5
BAACC
サンプル出力13
Bruno
入力例29
AAAABBBBB
サンプル出力24
Adrian
Bruno
Goran
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Map<String, Map<String, Integer>> map = new HashMap<>();
String name[] = { "Adrian", "Bruno", "Goran" };
String pattern[] = { "ABC", "BABC", "CCAABB" };
for (int i = 0; i < name.length; i++) {
map.put(name[i], new HashMap<>());
map.get(name[i]).put(pattern[i], 0);
}
int num = Integer.parseInt(br.readLine());
String exam = br.readLine();
for (int i = 0; i < num; i++) {
for (int j = 0; j < name.length; j++) {
if (exam.charAt(i % exam.length()) == pattern[j].charAt(i % pattern[j].length()))
map.get(name[j]).put(pattern[j], (map.get(name[j]).get(pattern[j]) + 1));
}
}
int sum = 0;
String str = "";
for (String key : map.keySet()) {
int val2 = map.get(key).get((String) map.get(key).keySet().toArray()[0]);
if (sum < val2) {
sum = val2;
str = key + "-";
} else if (sum == val2)
str += key + "-";
}
String[] strArr = str.split("-");
Arrays.sort(strArr);
System.out.println(sum);
for (int i = 0; i < strArr.length; i++) {
System.out.println(strArr[i]);
}
}
}
Reference
この問題について(伯准Baekjoon拍2966回-JAVA), 我々は、より多くの情報をここで見つけました https://velog.io/@chamominedev/백준-Baekjoon-2966번-찍기-JAVAテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol