Lesson4 - FrogRiverOne

作成日:2015/5/16
Task Score:100%
FrogRiverOne coding task - Learn to Code - Codility

// you can also use imports, for example:
// import java.util.*;

// you can write to stdout for debugging purposes, e.g.
// System.out.println("this is a debug message");
import java.util.HashMap;

class Solution {

    public static  int solution(int X, int[] A) {

      int goal = 0;
      int comp_goal = 0;
      HashMap<Integer,Boolean> hash = new HashMap<Integer,Boolean>();

      do {
        goal += X;
      } while(X-- > 0);

      for(int i = 0; i < A.length; i++) {
        if (!hash.containsKey(A[i])) {
          hash.put(A[i], true);
          comp_goal += A[i];
        }
        if (comp_goal != 0 && comp_goal == goal) {
          return i;
        }
      }

      return -1;
    }
}

天気予報アラートを作りたい(0)

はじめ

PythonとLineDeveloperで天気予報アラートを作りたい。
目標は4月末までに完成させること。

「天気予報アラートを作りたい」記事が何個になるのかは分からないが、完成したら全部まとめて書き直そうと思います。

天気予報アラートなのか

ツーリングの日が近づくにつれて、毎日毎時間気づけばYahoo!天気を開いているのに面倒臭みを感じたため。

Pythonで作る理由

1.Pythonに興味があったから。
2.APIやモジュール等の通信に必要な機能が豊富だったから。

LINEDeveloperを使う理由

1.通知が分かりやすい。
2.マルチプラットフォーム(ドヤ)を目指したかった。

機能

1.天気予報が知りたい”日付”と"場所"をクライアントからサーバに投げる。
 例:「4/25の大阪の天気予報が欲しい。」
2.サーバ内で指定の”日付”が取得出来るまでプログラムをまわす。
3.”日付”が取得出来たらクライアントに予報を通知する。
4.“日付”当日になるまで、通知した予報に変更があれば変更後の予報をクライアントに通知する。

目標

1.APIを使用した天気予報の取得。
2.コンソールから値を指定して機能通りの反応を返す。
3.LINEbotから値を投げて機能通りの反応を返す。

現時点での課題、疑問

1.自分以外のユーザが値を投げる場合、誰がどの値を欲しているのかを記録する必要がある。

programming challenge Nickel 2018

作成日:2018/4/4

Nickel 2018 challenge - Codility

初アワード頂きました~嬉しい~(˘ω˘)
しかし相変わらずperformanceが0%なのは進歩0!
素直に何処が無駄なんだろう。

【Codility Silver Award for the Nickel 2018 Challenge】
https://app.codility.com/cert/view/cert32Z7M4-QVRPZWTWE4MM63HF/

// you can also use imports, for example:
// import java.util.*;

// you can write to stdout for debugging purposes, e.g.
// System.out.println("this is a debug message");

class Solution {

    int ans = 0;

    public void make(boolean[] p) {
        if (p.length > 0) {
            boolean[] node = new boolean[p.length -1];
            for(int i = 0; i < p.length; i++) {
                if(p[i] == true) {
                    ans++;

                    if(i < node.length) {
                        node[i] = true;    
                    }
                    if(i > 0) {
                        node[i - 1] = true;
                    }
                }
            }

            if (p.length - 1 > 0) {
                make(node);   
            }
        }

    }

    public int solution(boolean[] P) {
        // write your code in Java SE 8

        make(P);
        return ans;
    }
}

Lesson4 - PermCheck

作成日:2018/4/4
Task Score: 58%
Correctness: 100%
Performance: 16%
PermCheck coding task - Learn to Code - Codility

// you can also use imports, for example:
// import java.util.*;

// you can write to stdout for debugging purposes, e.g.
// System.out.println("this is a debug message");

import java.util.*;

class Solution {
    public int solution(int[] A) {
        // write your code in Java SE 8

        ArrayList<Integer> list = new ArrayList<Integer>();

        for(int num : A){
            if (!list.contains(num)) {
                list.add(num);
            } else {
                return 0;
            }
            if (num > A.length) {
                return 0;
            }
        }

        return 1;
    }
}

Lesson4 - MaxCounters

score:66%
※The submission is being evaluated.で評価画面表れず。

作成日:2018/3/28
MaxCounters coding task - Learn to Code - Codility

// you can also use imports, for example:
// import java.util.*;

// you can write to stdout for debugging purposes, e.g.
// System.out.println("this is a debug message");

class Solution {

    public static int[] solution(int N, int[] A) {
        // write your code in Java SE 8
        int maxnum = 0;
        int[] inc = new int[N];

        for(int i = 0; i < A.length; i++) {
            if(A[i] <= 0) {
                // none
            } else if(A[i] < N) {
                if ( ++inc[A[i]-1] > maxnum) {
                  maxnum = inc[A[i]-1];
                };
            } else if(A[i] == (N+1)) {
                for(int num = 0; num < inc.length; num++) {
                    inc[num] = maxnum;
                }
            } else {
                // none
            }
        }
        return inc;
    }
}

Lesson3 - FrogJmp

作成日:2018/3/23
FrogJmp coding task - Learn to Code - Codility

// you can also use imports, for example:
// import java.util.*;

// you can write to stdout for debugging purposes, e.g.
// System.out.println("this is a debug message");

class Solution {
    public int solution(int X, int Y, int D) {
        // write your code in Java SE 8
        if ( X >= Y ) { 
            return 0;
        } else if ( (Y - X) % D != 0 ) {
            return ( (Y - X) / D) + 1;
        } else {
            return (Y - X) / D;
        }
    }
}