【Java】AtCoderのABC-189に参加しました。
こんばんは。
2021/1/23に、AtCoderのABC-189に参加しました。
レートは以下の通りとなっています。
C問題は処理時間でエラーになり、良いロジックを思いつけず負けました・・。
まだまだですね。
ともあれレートを13→51に更新!
A問題は5分以内、B問題15分以内で安定して解けるようになってきました。
半年前に始めたときはA問題ですら会社の昼休み中(1時間-お弁当の時間)に解けなかった事を思うと、着実な進歩です。
A問題
入力した3文字が全部同じか、そうでないかチェックするというもの。
String型で入力した文字列を、char型にして同じかチェックしました。
import java.util.Scanner;
import java.util.HashSet;
import java.util.Set;
public class Main{
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
String c = sc.next();
if((c.charAt(0)==c.charAt(1))&&(c.charAt(1)==c.charAt(2))){
System.out.println("Won");
}else{
System.out.println("Lost");
}
}
}
B問題
飲んだアルコール飲料の容量(v)と、アルコール度数(p)から、摂取したアルコール量(al)を求め、アルコール許容量(x)を超えて酔っぱらうかどうかを調べます。
整数型での答えを求められていましたが、int型は小数点以下を切り捨ててしまうので、思い切って数字を100倍して、アルコール度数10.5%→1050と算出させるようにしました。
もっとスマートなやり方があると思うんですけどね・・。
import java.util.Scanner;
import java.util.HashSet;
import java.util.Set;
public class Main{
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int x = sc.nextInt();
int v[] = new int[n];
int p[] = new int[n];
int al = 1;
char flg = '0';
for(int i=0;i<n;i++){
v[i] = sc.nextInt();
p[i] = sc.nextInt();
if(i==0){
al = v[i]*p[i];
}
else
{
al = al+(v[i]*p[i]);
}
if(al>x*100){
System.out.println(i+1);
flg = '1';
i=n;
}
//System.out.println("al/100 " + al/100);
}
if(flg=='0'){
System.out.println(-1);
}
}
}
C問題
*不正解のためソースは割愛します。
ロジック自体は正解に近づいていたようですが、処理時間がかかりTLEとなりました。
(21ケースAC、12ケースでTLE)。
やはり2重ループはだめでしたね。
感想
週末にちょっとした(失礼?)戦いがあるのは、いい刺激になります。
僕はこれでも高校時代は数学が好きで得意科目だったので、少し高校時代の数学の楽しさを思い出してきて楽しいです。これなら継続できそうな気がします。
これからもコツコツ取り組んで、茶色を目指したいと思います!
同じく灰色レベルで頑張っている方、お互い頑張りましょう!
Author And Source
この問題について(【Java】AtCoderのABC-189に参加しました。), 我々は、より多くの情報をここで見つけました https://qiita.com/ishikawaryou/items/7fb1c4923184a05bdeb5著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .