[paiza]スキルチェック見本問題 Java 偶奇の判定/曜日の判定 (paizaランク D 相当)
初めに
今回2つのスキルチェック問題に挑戦しました。
Dレベルにしては、少し難しく感じました。
①偶奇の判定
長さ N の数列Aが与えられます。
この数列に含まれる偶数の要素の個数と、奇数の要素の個数を答えてください。
解答コード(自作)
paizaの解答と比べるとあまりスマートとは言えませんが・・・
なんとか正解しました。
拡張for文マスターできれば色々できますね。
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//与えられる数字をキャッチします。
int n = sc.nextInt();
//奇数、偶数の初期値を0でセットします。
int even = 0;
int odd = 0;
//n個の箱を持つ、int型の配列を作成します。
int[] a = new int[n];
//以下for文です。n行分のデータを配列に入れていきます。
for(int i=0; i<n; i++){
a[i]= sc.nextInt();
}
//以下、拡張for文です。配列の中身を取り出していきます。
for(int x:a)
//偶数を見つけたらevenの値が1ずつ増えます。
if(x%2==0){
even = even +1;
}else{
odd = odd +1;
}
}
System.out.print(even + " " + odd);
}
}
②曜日の判定
ある月の 1 日は日曜日、 2 日は月曜日...です。X日は何曜日でしょう。
・・・?
・・・?
解答コード(自作)
1日が日曜なら、、
7/14/21/28の「7」で割れる数字が来たら、Sat。
1と、8/15/22/29の「7」で割ってあまり1が来たら、Sun。
2と、9/16/23/30の「7」で割ってあまり2が来たら、Mon。という感じで良いのかな。
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
if(x%7==0){
System.out.println("Sat");
}else if((x%7==1)||(x==1)){
System.out.println("Sun");
}else if((x%7==2)||(x==2)){
System.out.println("Mon");
}else if((x%7==3)||(x==3)){
System.out.println("Tue");
}else if((x%7==4)||(x==4)){
System.out.println("Wed");
}else if((x%7==5)||(x==5)){
System.out.println("Thu");
}else if((x%7==6)||(x==6)){
System.out.println("Fri");
}
}
}
修正バージョン
paizaの解答を確認し以下の通りに修正しました。
確かに、実際に手計算してみると、orの条件が無駄だったことに気づきました・・
if((x%7==2)||(x==2))
は、(x%7==2)
で十分でした。
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
if(x%7==0){
System.out.println("Sat");
}else if(x%7==1){
System.out.println("Sun");
}else if(x%7==2){
System.out.println("Mon");
}else if(x%7==3){
System.out.println("Tue");
}else if(x%7==4){
System.out.println("Wed");
}else if(x%7==5){
System.out.println("Thu");
}else if(x%7==6){
System.out.println("Fri");
}
}
}
終わり
Author And Source
この問題について([paiza]スキルチェック見本問題 Java 偶奇の判定/曜日の判定 (paizaランク D 相当)), 我々は、より多くの情報をここで見つけました https://qiita.com/ki_87/items/0f26ec2e928965ff563b著者帰属:元の著者の情報は、元の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 .