teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

間違えて同じ内容を送っていたので1つ削除しました。

2020/09/23 05:36

投稿

kinako_make
kinako_make

スコア7

answer CHANGED
@@ -1,49 +1,1 @@
1
- 皆さんおかげ、課題できました。
1
+ 間違えて同じ内容を送っていたので1つ削除しました。
2
- ありがとうございました!
3
-
4
- ```ここに言語を入力
5
- public class Main {
6
- public static void main(String[] args) {
7
- Scanner sc = new Scanner(System.in);
8
-
9
- int num = sc.nextInt(); //靴下の数を取得
10
-
11
- /*靴下の左右の数を数える配列、サイズは英大文字26文字分で用意
12
- 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
13
- A B C D E F G H I J K L M N O P Q R S T U V W X Y Z*/
14
- String alpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
15
- int[] socksL = new int[alpha.length()];
16
- int[] socksR = new int[alpha.length()];
17
- int idx = 0; //要素数を保存
18
-
19
- //靴下の種類の英文字と左右("L","R"のいずれか)を取得していく
20
- for (int i = 0; i < num; i++){
21
- String type = sc.next();
22
- String pair = sc.next();
23
-
24
- //文字列alphaと一致したインデックスを保存
25
- idx = alpha.indexOf(type);
26
-
27
- if("L".equals(pair)){
28
- //左の場合、配列socksLの文字列alphaと一致する要素数を加算
29
-
30
- socksL[idx]++;
31
- }else{
32
- //右の場合、配列socksRの文字列alphaと一致する要素数を加算
33
-
34
- socksR[idx]++;
35
- }
36
- }
37
- //そろっているペア数を足していく
38
- int sum = 0;
39
-
40
- for (int i = 0; i < socksL.length; i++){
41
- //左右の配列の小さい法をsumに加算していく
42
-
43
- sum += Math.min(socksL[i], socksR[i]);
44
- }
45
- //結果を表示
46
- System.out.println(sum);
47
- }
48
- }
49
- ```