質問編集履歴
11
文章の編集
title
CHANGED
File without changes
|
body
CHANGED
@@ -26,7 +26,6 @@
|
|
26
26
|
インデックス[0]番目は、以降インデックスの数(n個)を表しております。
|
27
27
|
例ですが、入力データ1の場合は、lines[0]に5が格納されており、lines[1]〜[5]まで出力しないといけないという事です。(出力の際は改行区切りで出力しないといけないルールです)
|
28
28
|
上記入力データ1,2を書きましたが、これはあくまで入力例であり、実際には入力されたデータは隠されており見る事ができません。
|
29
|
-
(lines[0]に格納させている数字の値の文だけ出力が必要)
|
30
29
|
|
31
30
|
今回の質問ですが
|
32
31
|
問題は解けたのですが、for文を2回書いている所が気になります。
|
10
文章の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,13 +1,42 @@
|
|
1
1
|
### 1行目で正の整数nが入力され、続くn行の各行で整数が1つずつ入力されます。n個の整数を小さい順に改行区切りで出力してください。
|
2
2
|
|
3
|
+
実行環境はwebサイト(学習サイト)上にあります。
|
4
|
+
入力データは、
|
5
|
+
入力例1の場合
|
6
|
+
5
|
7
|
+
3
|
8
|
+
5
|
9
|
+
19
|
10
|
+
1
|
11
|
+
2
|
12
|
+
入力データ2の場合
|
13
|
+
10
|
14
|
+
2
|
15
|
+
3
|
16
|
+
4
|
17
|
+
5
|
18
|
+
4
|
19
|
+
3
|
20
|
+
2
|
21
|
+
1
|
22
|
+
1
|
23
|
+
8
|
24
|
+
になっています。
|
25
|
+
この入力データは変数linesに配列として格納されており、
|
26
|
+
インデックス[0]番目は、以降インデックスの数(n個)を表しております。
|
27
|
+
例ですが、入力データ1の場合は、lines[0]に5が格納されており、lines[1]〜[5]まで出力しないといけないという事です。(出力の際は改行区切りで出力しないといけないルールです)
|
28
|
+
上記入力データ1,2を書きましたが、これはあくまで入力例であり、実際には入力されたデータは隠されており見る事ができません。
|
29
|
+
(lines[0]に格納させている数字の値の文だけ出力が必要)
|
30
|
+
|
31
|
+
今回の質問ですが
|
3
|
-
|
32
|
+
問題は解けたのですが、for文を2回書いている所が気になります。
|
4
33
|
なぜか1回目のfor文の末尾に```console.log(arr[i]);```を書くと
|
5
34
|
3
|
6
35
|
5
|
7
36
|
19
|
8
37
|
19
|
9
38
|
19
|
10
|
-
と出力されてしまいます。
|
39
|
+
と出力されてしまいます。(入力例1の場合)
|
11
40
|
なぜ、このような出力結果になってしまうのでしょうか?
|
12
41
|
ご回答よろしくお願いします。
|
13
42
|
|
9
コードの修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -45,39 +45,4 @@
|
|
45
45
|
console.log(arr[i]);
|
46
46
|
}
|
47
47
|
|
48
|
-
});
|
48
|
+
});
|
49
|
-
コード
|
50
|
-
```
|
51
|
-
|
52
|
-
###
|
53
|
-
あっているかどうかは分かりませんが、
|
54
|
-
|
55
|
-
ループされていく値を比較関数(a-b)で比較していけば
|
56
|
-
3→5→19までは比較できるが、「19」以降の「1」、「2」は比較できないため
|
57
|
-
「19」が続いてループされているということでしょうか?
|
58
|
-
|
59
|
-
a < b (判定○ 処理する)
|
60
|
-
a > b (判定× 処理しない)※スキップ
|
61
|
-
a == b (判定○ 処理する)
|
62
|
-
|
63
|
-
3 arr[1]
|
64
|
-
↓ 3 < 5 (判定○ 処理する)
|
65
|
-
5 arr[2]
|
66
|
-
↓ 5 < 19 (判定○ 処理する)
|
67
|
-
19 arr[3]
|
68
|
-
↓ 19 < 1 (判定× 処理しない)※スキップ
|
69
|
-
1(19) arr[4]
|
70
|
-
↓ 19 < 2 (判定× 処理しない)※スキップ
|
71
|
-
2(19) arr[5]
|
72
|
-
↓ 19 < 3 (判定× 処理しない)※スキップ
|
73
|
-
3(19) arr[1]
|
74
|
-
↓ 19 < 5 (判定× 処理しない)※スキップ
|
75
|
-
5(19) arr[2]
|
76
|
-
↓ 19 == 19 (判定○ 処理する)
|
77
|
-
19 arr[3]
|
78
|
-
↓
|
79
|
-
・
|
80
|
-
・
|
81
|
-
・
|
82
|
-
|
83
|
-
みたいな事が起こっているのでしょうか?
|
8
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -47,4 +47,37 @@
|
|
47
47
|
|
48
48
|
});
|
49
49
|
コード
|
50
|
-
```
|
50
|
+
```
|
51
|
+
|
52
|
+
###
|
53
|
+
あっているかどうかは分かりませんが、
|
54
|
+
|
55
|
+
ループされていく値を比較関数(a-b)で比較していけば
|
56
|
+
3→5→19までは比較できるが、「19」以降の「1」、「2」は比較できないため
|
57
|
+
「19」が続いてループされているということでしょうか?
|
58
|
+
|
59
|
+
a < b (判定○ 処理する)
|
60
|
+
a > b (判定× 処理しない)※スキップ
|
61
|
+
a == b (判定○ 処理する)
|
62
|
+
|
63
|
+
3 arr[1]
|
64
|
+
↓ 3 < 5 (判定○ 処理する)
|
65
|
+
5 arr[2]
|
66
|
+
↓ 5 < 19 (判定○ 処理する)
|
67
|
+
19 arr[3]
|
68
|
+
↓ 19 < 1 (判定× 処理しない)※スキップ
|
69
|
+
1(19) arr[4]
|
70
|
+
↓ 19 < 2 (判定× 処理しない)※スキップ
|
71
|
+
2(19) arr[5]
|
72
|
+
↓ 19 < 3 (判定× 処理しない)※スキップ
|
73
|
+
3(19) arr[1]
|
74
|
+
↓ 19 < 5 (判定× 処理しない)※スキップ
|
75
|
+
5(19) arr[2]
|
76
|
+
↓ 19 == 19 (判定○ 処理する)
|
77
|
+
19 arr[3]
|
78
|
+
↓
|
79
|
+
・
|
80
|
+
・
|
81
|
+
・
|
82
|
+
|
83
|
+
みたいな事が起こっているのでしょうか?
|
7
コードの編集
title
CHANGED
File without changes
|
body
CHANGED
@@ -36,8 +36,8 @@
|
|
36
36
|
|
37
37
|
for(var i=0; i<n; i++) {
|
38
38
|
arr.push(lines[i+1]);
|
39
|
-
|
39
|
+
// arr.sort(compare); 編集前
|
40
|
-
|
40
|
+
// console.log(arr[i]);
|
41
41
|
}
|
42
42
|
arr.sort(compare); // 編集後
|
43
43
|
|
6
編集
title
CHANGED
File without changes
|
body
CHANGED
@@ -39,7 +39,7 @@
|
|
39
39
|
// arr.sort(compare); 編集前
|
40
40
|
// console.log(arr[i]);
|
41
41
|
}
|
42
|
-
arr.sort(compare); 編集後
|
42
|
+
arr.sort(compare); // 編集後
|
43
43
|
|
44
44
|
for(var i=0; i<n; i++){
|
45
45
|
console.log(arr[i]);
|
5
コードの編集
title
CHANGED
File without changes
|
body
CHANGED
@@ -36,9 +36,10 @@
|
|
36
36
|
|
37
37
|
for(var i=0; i<n; i++) {
|
38
38
|
arr.push(lines[i+1]);
|
39
|
+
// arr.sort(compare); 編集前
|
39
40
|
// console.log(arr[i]);
|
40
41
|
}
|
41
|
-
arr.sort(compare);
|
42
|
+
arr.sort(compare); 編集後
|
42
43
|
|
43
44
|
for(var i=0; i<n; i++){
|
44
45
|
console.log(arr[i]);
|
4
コードの修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -36,9 +36,9 @@
|
|
36
36
|
|
37
37
|
for(var i=0; i<n; i++) {
|
38
38
|
arr.push(lines[i+1]);
|
39
|
-
arr.sort(compare);
|
40
39
|
// console.log(arr[i]);
|
41
40
|
}
|
41
|
+
arr.sort(compare);
|
42
42
|
|
43
43
|
for(var i=0; i<n; i++){
|
44
44
|
console.log(arr[i]);
|
3
文の追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
### 1行目で正の整数nが入力され、続くn行の各行で整数が1つずつ入力されます。n個の整数を小さい順に改行区切りで出力してください。
|
2
2
|
|
3
|
-
という問題を解いたのですが、for文を2回書いている所が気になります。
|
3
|
+
という問題を解いたのですが、for文を2回書いている所が気になります。(自分で書いておきながら)
|
4
4
|
なぜか1回目のfor文の末尾に```console.log(arr[i]);```を書くと
|
5
5
|
3
|
6
6
|
5
|
2
コードの修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -37,7 +37,7 @@
|
|
37
37
|
for(var i=0; i<n; i++) {
|
38
38
|
arr.push(lines[i+1]);
|
39
39
|
arr.sort(compare);
|
40
|
-
|
40
|
+
// console.log(arr[i]);
|
41
41
|
}
|
42
42
|
|
43
43
|
for(var i=0; i<n; i++){
|
1
文の追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,13 +1,19 @@
|
|
1
1
|
### 1行目で正の整数nが入力され、続くn行の各行で整数が1つずつ入力されます。n個の整数を小さい順に改行区切りで出力してください。
|
2
2
|
|
3
3
|
という問題を解いたのですが、for文を2回書いている所が気になります。
|
4
|
+
なぜか1回目のfor文の末尾に```console.log(arr[i]);```を書くと
|
5
|
+
3
|
6
|
+
5
|
7
|
+
19
|
8
|
+
19
|
9
|
+
19
|
4
|
-
|
10
|
+
と出力されてしまいます。
|
11
|
+
なぜ、このような出力結果になってしまうのでしょうか?
|
12
|
+
ご回答よろしくお願いします。
|
5
13
|
|
6
14
|
|
7
15
|
|
8
16
|
|
9
|
-
|
10
|
-
|
11
17
|
```
|
12
18
|
process.stdin.resume();
|
13
19
|
process.stdin.setEncoding('utf8');
|