回答編集履歴
2
コードの再変更
answer
CHANGED
@@ -2,16 +2,16 @@
|
|
2
2
|
import java.util.Scanner;
|
3
3
|
|
4
4
|
class Test {
|
5
|
-
static final
|
5
|
+
static final String t =
|
6
|
+
"ああいいううええおおかかききくくけけここささししすすせせそそ" +
|
7
|
+
"たたちちつつつててととなにぬねのはははひひひふふふへへへほほほ" +
|
8
|
+
"まみむめもややゆゆよよらりるれろわわゐゑをん";
|
6
|
-
//ぁあ
|
9
|
+
// ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞ
|
7
|
-
-1,0,-1,0,-1,0,-1,0,-1,0, 0,1,0,1,0,1,0,1,0,1, 0,1,0,1,0,1,0,1,0,1,
|
8
|
-
//ただちぢっつづてでとど
|
10
|
+
// ただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽ
|
9
|
-
0,1,0,1,-1,0,1,0,1,0,1, 0,0,0,0,0, 0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,
|
10
|
-
//まみむめも
|
11
|
+
// まみむめもゃやゅゆょよらりるれろゎわゐゑをん
|
11
|
-
|
12
|
+
|
12
|
-
};
|
13
13
|
static char convChar(char c) {
|
14
|
-
if (c >= 'ぁ' && c <= 'ん') c
|
14
|
+
if (c >= 'ぁ' && c <= 'ん') c = t.charAt(c - 'ぁ');
|
15
15
|
return c;
|
16
16
|
}
|
17
17
|
|
@@ -35,4 +35,8 @@
|
|
35
35
|
**追記**
|
36
36
|
コードを変更しました。
|
37
37
|
謎の配列 t の 意味が分かるようにコメントを追加しました。
|
38
|
-
String の += は効率が悪そうなので、StringBuffer の append に変更しました。
|
38
|
+
String の += は効率が悪そうなので、StringBuffer の append に変更しました。
|
39
|
+
|
40
|
+
**追記2**
|
41
|
+
さらにコードを変更しました。
|
42
|
+
変換表を文字列で持てば、文字コードの足し算引き算は不要でした。
|
1
コードの変更
answer
CHANGED
@@ -3,10 +3,25 @@
|
|
3
3
|
|
4
4
|
class Test {
|
5
5
|
static final int[] t = {
|
6
|
+
//ぁあ ぃい ぅう ぇえ ぉお かがきぎくぐけげこご さざしじすずせぜそぞ
|
6
7
|
-1,0,-1,0,-1,0,-1,0,-1,0, 0,1,0,1,0,1,0,1,0,1, 0,1,0,1,0,1,0,1,0,1,
|
8
|
+
//ただちぢっつづてでとど なにぬねの はばぱひびぴふぶぷへべぺほぼぽ
|
7
9
|
0,1,0,1,-1,0,1,0,1,0,1, 0,0,0,0,0, 0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,
|
10
|
+
//まみむめも ゃや ゅゆ ょよ らりるれろ ゎわゐゑを ん
|
8
|
-
0,0,0,0,0, -1,0,-1,0,-1,0, 0,0,0,0,0, -1,0,0,0,0,
|
11
|
+
0,0,0,0,0, -1,0,-1,0,-1,0, 0,0,0,0,0, -1,0,0,0,0, 0
|
9
12
|
};
|
13
|
+
static char convChar(char c) {
|
14
|
+
if (c >= 'ぁ' && c <= 'ん') c -= t[c - 'ぁ'];
|
15
|
+
return c;
|
16
|
+
}
|
17
|
+
|
18
|
+
static String convStr(String s) {
|
19
|
+
StringBuilder sb = new StringBuilder();
|
20
|
+
for (int i = 0; i < s.length(); i++)
|
21
|
+
sb.append(convChar(s.charAt(i)));
|
22
|
+
return sb.toString();
|
23
|
+
}
|
24
|
+
|
10
25
|
public static void main(String[] args) {
|
11
26
|
Scanner sc = new Scanner(System.in);
|
12
27
|
while (sc.hasNext()) {
|
@@ -15,17 +30,9 @@
|
|
15
30
|
System.out.println(s2);
|
16
31
|
}
|
17
32
|
}
|
18
|
-
|
19
|
-
static String convStr(String s) {
|
20
|
-
String t = "";
|
21
|
-
for (int i = 0; i < s.length(); i++)
|
22
|
-
t += convChar(s.charAt(i));
|
23
|
-
return t;
|
24
|
-
}
|
25
|
-
|
26
|
-
static char convChar(char c) {
|
27
|
-
if (c >= 'ぁ' && c <= 'ん') c -= t[c - 'ぁ'];
|
28
|
-
return c;
|
29
|
-
}
|
30
33
|
}
|
31
|
-
```
|
34
|
+
```
|
35
|
+
**追記**
|
36
|
+
コードを変更しました。
|
37
|
+
謎の配列 t の 意味が分かるようにコメントを追加しました。
|
38
|
+
String の += は効率が悪そうなので、StringBuffer の append に変更しました。
|