質問編集履歴
5
削除しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -5,59 +5,4 @@
|
|
5
5
|
```
|
6
6
|
この文字列をA5B10CD9E2F5Gみたいに圧縮するにはどうすれば良いでしょうか?
|
7
7
|
教えて下さい
|
8
|
-
ヒントだけでも御願いします。
|
8
|
+
ヒントだけでも御願いします。
|
9
|
-
``````
|
10
|
-
public static void main(String [] args){
|
11
|
-
|
12
|
-
String text = encode(" AAAAABBBBBBBBBBCDDDDDDDDDEEFFFFFG ");
|
13
|
-
システム。アウト。println(text);
|
14
|
-
|
15
|
-
}
|
16
|
-
|
17
|
-
/ **
|
18
|
-
同じの文字が続く場合、文字+連続する文字数に置き換える関数
|
19
|
-
@param input文字列
|
20
|
-
@return文字+ 連続する文字数
|
21
|
-
* /
|
22
|
-
プライベート 静的 文字列 エンコード(文字列 入力){
|
23
|
-
|
24
|
-
//ループ内で文字列を結合する為に使用する
|
25
|
-
StringBuilder sb = new StringBuilder();
|
26
|
-
文字の最後=入力。charAt(0);
|
27
|
-
int count = 1 ;
|
28
|
-
|
29
|
-
//文字数分の繰り返し処理を行う
|
30
|
-
以下のために(INT iが= 1 ; I <入力。長さ(); iが++){
|
31
|
-
|
32
|
-
//同じの文字が続く場合、カウントを増やす
|
33
|
-
もし(最後==入力。のcharAt(I)){
|
34
|
-
カウント++ ;
|
35
|
-
} else {
|
36
|
-
//同じ文字ではない場合、文字列を連結させて次の文字へ
|
37
|
-
SB 。append(last);
|
38
|
-
|
39
|
-
// 1文字のみだったの場合、1は表示させない
|
40
|
-
if(カウント!= 1)
|
41
|
-
{
|
42
|
-
SB 。append(count);
|
43
|
-
}
|
44
|
-
|
45
|
-
最後に=入力。charAt(i);
|
46
|
-
カウント= 1 ;
|
47
|
-
}
|
48
|
-
}
|
49
|
-
|
50
|
-
//最後の文字列を格納する
|
51
|
-
SB 。append(last);
|
52
|
-
// 1文字のみだったの場合、1は表示させない
|
53
|
-
if(カウント!= 1)
|
54
|
-
{
|
55
|
-
SB 。append(count);
|
56
|
-
}
|
57
|
-
|
58
|
-
sbを返します。toString();
|
59
|
-
}
|
60
|
-
|
61
|
-
}
|
62
|
-
コード
|
63
|
-
こんな感じかなっとは考えてます。
|
4
追記しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
``````
|
1
2
|
String text = encode("AAAAABBBBBBBBBBCDDDDDDDDDEEFFFFFG");
|
2
3
|
System.out.println(text);
|
3
4
|
コード
|
@@ -6,7 +7,7 @@
|
|
6
7
|
教えて下さい
|
7
8
|
ヒントだけでも御願いします。
|
8
9
|
``````
|
9
|
-
|
10
|
+
public static void main(String [] args){
|
10
11
|
|
11
12
|
String text = encode(" AAAAABBBBBBBBBBCDDDDDDDDDEEFFFFFG ");
|
12
13
|
システム。アウト。println(text);
|
3
追記しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,8 +1,62 @@
|
|
1
|
-
```
|
2
1
|
String text = encode("AAAAABBBBBBBBBBCDDDDDDDDDEEFFFFFG");
|
3
2
|
System.out.println(text);
|
4
3
|
コード
|
5
4
|
```
|
6
5
|
この文字列をA5B10CD9E2F5Gみたいに圧縮するにはどうすれば良いでしょうか?
|
7
6
|
教えて下さい
|
8
|
-
ヒントだけでも御願いします。
|
7
|
+
ヒントだけでも御願いします。
|
8
|
+
``````
|
9
|
+
ublic static void main(String [] args){
|
10
|
+
|
11
|
+
String text = encode(" AAAAABBBBBBBBBBCDDDDDDDDDEEFFFFFG ");
|
12
|
+
システム。アウト。println(text);
|
13
|
+
|
14
|
+
}
|
15
|
+
|
16
|
+
/ **
|
17
|
+
同じの文字が続く場合、文字+連続する文字数に置き換える関数
|
18
|
+
@param input文字列
|
19
|
+
@return文字+ 連続する文字数
|
20
|
+
* /
|
21
|
+
プライベート 静的 文字列 エンコード(文字列 入力){
|
22
|
+
|
23
|
+
//ループ内で文字列を結合する為に使用する
|
24
|
+
StringBuilder sb = new StringBuilder();
|
25
|
+
文字の最後=入力。charAt(0);
|
26
|
+
int count = 1 ;
|
27
|
+
|
28
|
+
//文字数分の繰り返し処理を行う
|
29
|
+
以下のために(INT iが= 1 ; I <入力。長さ(); iが++){
|
30
|
+
|
31
|
+
//同じの文字が続く場合、カウントを増やす
|
32
|
+
もし(最後==入力。のcharAt(I)){
|
33
|
+
カウント++ ;
|
34
|
+
} else {
|
35
|
+
//同じ文字ではない場合、文字列を連結させて次の文字へ
|
36
|
+
SB 。append(last);
|
37
|
+
|
38
|
+
// 1文字のみだったの場合、1は表示させない
|
39
|
+
if(カウント!= 1)
|
40
|
+
{
|
41
|
+
SB 。append(count);
|
42
|
+
}
|
43
|
+
|
44
|
+
最後に=入力。charAt(i);
|
45
|
+
カウント= 1 ;
|
46
|
+
}
|
47
|
+
}
|
48
|
+
|
49
|
+
//最後の文字列を格納する
|
50
|
+
SB 。append(last);
|
51
|
+
// 1文字のみだったの場合、1は表示させない
|
52
|
+
if(カウント!= 1)
|
53
|
+
{
|
54
|
+
SB 。append(count);
|
55
|
+
}
|
56
|
+
|
57
|
+
sbを返します。toString();
|
58
|
+
}
|
59
|
+
|
60
|
+
}
|
61
|
+
コード
|
62
|
+
こんな感じかなっとは考えてます。
|
2
追記しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -4,4 +4,5 @@
|
|
4
4
|
コード
|
5
5
|
```
|
6
6
|
この文字列をA5B10CD9E2F5Gみたいに圧縮するにはどうすれば良いでしょうか?
|
7
|
-
教えて下さい
|
7
|
+
教えて下さい
|
8
|
+
ヒントだけでも御願いします。
|
1
間違えました
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,4 +1,5 @@
|
|
1
|
+
```
|
1
|
-
|
2
|
+
String text = encode("AAAAABBBBBBBBBBCDDDDDDDDDEEFFFFFG");
|
2
3
|
System.out.println(text);
|
3
4
|
コード
|
4
5
|
```
|