0%

奇奇怪怪的问题解决——01

这是之前玩paiza出的程序员都消失的世界(?)的游戏的问题,虽然没啥大不了的,但贴贴也就贴贴8。

问题是这个亚子的。

输入两行数
第一行为通信次数
第二行为每次通信的强度
强度大于5为通信成功
求通信成功次数
代码一(进程过长)失败

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
26
27
28
29
30
31
import java.util.*;


public class Main {
public static void main(String[] args) {
// 自分の得意な言語で
// Let's チャレンジ!!
int c;
c=0;
Scanner sc = new Scanner(System.in);
String h = sc.nextLine();
String line = sc.nextLine();
String sj =line.replaceAll(" ","");
int[] qd = new int[sj.length()];
for(int i=0; i<sj.length();i++)
{
qd[i] =Integer.parseInt(sj.substring(i,i+1));
}
for (int i:qd)

if(i>5)
{
c++;
}
else
{
c=c;
}
System.out.println(c);
}
}

代码二(成功,最优算法)
解决办法,直接提取整型数字比较

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
26
import java.util.*;

public class Main {
public static void main(String[] args) {
// 自分の得意な言語で
// Let's チャレンジ!!
int c;
c=0;
Scanner sc = new Scanner(System.in);
int h = sc.nextInt();
for(int i=0; i<h; i++)

int sg = sc.nextInt();
if(sg>5)
{
c++;
}





System.out.println(c);
}

}

以上。