1365. How Many Numbers Are Smaller Than the Current Number

LeetCode の挑戦ログ Problem https://leetcode.com/problems/how-many-numbers-are-smaller-than-the-current-number/ 数字の配列が与えられる それぞれの値より少ない値がいくつ含まれているか数える その数を同じ index の配列にして返す Solution class …

1342. Number of Steps to Reduce a Number to Zero

LeetCode の挑戦ログ Problem https://leetcode.com/problems/number-of-steps-to-reduce-a-number-to-zero/ 正の整数が渡される 偶数なら 2 で割る、奇数なら 1 を引く 0 になるまでの回数を数える Solution class Solution { public int numberOfSteps(int…

PHPUnit のモックで、引数に応じて戻り値を変更する #php #PHPUnit

概要 returnValueMap を使うと引数に応じて戻り値を変更できる 例外を返したいときは returnCallback() を使うと便利 returnValueMap を使う returnValue に [引数, 戻り値] の配列を渡すと、引数に応じた戻り値を返す Mock を作れる。 引数が複数ある場合は…

課題に正面から取り組むこと

経験を積むと、実現が難しい方法で苦しんでるときに、より容易な回避方法が浮かぶようになる。 手元に並べられる選択肢が増えるというか。 それはいいことなんだけど、「より最適な解として」別の手段を選んでるつもりで、「難しい方法を避けるために」別の…

DataGrip で クリアテキスト認証 を使う #DataGrip

概要 IAM 認証 による RDS 接続をする際などに、 MySQL のクリアテキスト認証が必要になる。 DataGrip から利用する方法をまとめておく。 おそらく Jetbrains 製品の Database Viewer でも同じ方法でできると思う。 参考: IAM認証によるRDS接続を試してみた …

IntelliJ IDEA から MySQL に繋ごうとしたら Communications link failure #IntelliJIDEA

問題 IntelliJ IDEA や DataGrip から MySQL に接続したら、エラーになってしまった。 接続テストでは成功するのに、実際に繋ごうとすると Communications link failure と言われてしまう。 java.io.IOException: Socket is closed. Communications link fai…

1207. Unique Number of Occurrences

LeetCode の挑戦ログ Problem https://leetcode.com/problems/unique-number-of-occurrences/ 整数の配列を渡される 値の登場回数がユニークで構成される場合は true を返す Solution class Solution { public boolean uniqueOccurrences(int[] arr) { Map<Integer, Long> m</integer,>…

Measure What Matters を読んだ

Measure What Matters 伝説のベンチャー投資家がGoogleに教えた成功手法 OKR (メジャー・ホワット・マターズ)作者:ジョン・ドーア出版社/メーカー: 日本経済新聞出版社発売日: 2018/10/16メディア: 単行本 巷で話題の OKR の本ということで読んでみた。 チー…

977. Squares of a Sorted Array

LeetCode の挑戦ログ Problem https://leetcode.com/problems/squares-of-a-sorted-array/ 整数の昇順でソートされた配列が渡される 各要素を自乗して、それを昇順でソートした配列にする Solution class Solution { public int[] sortedSquares(int[] A) { …

617. Merge Two Binary Trees

LeetCode の挑戦ログ Problem https://leetcode.com/problems/merge-two-binary-trees/ 2つのバイナリツリーを同階層でマージしたツリーを作る Solution /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; …

自分の欠点を3つあげるとしたら

転職活動の面接で、「自分の欠点を3つあげるとしたらなんですか?」と聞かれたことがあった。 自分と向き合えるいい質問だなぁと思ったのと、後で見直したら面白そうなので記録しておく。 ちなみに面接の相手は開発者じゃなかったので、技術的な観点では答…

HTML5/CSS3 モダンコーディング を読んだ

HTML5/CSS3モダンコーディング フロントエンドエンジニアが教える3つの本格レイアウト スタンダード・グリッド・シングルページレイアウトの作り方 (WEB Engineer’s Books)作者:吉田 真麻出版社/メーカー: 翔泳社発売日: 2015/11/03メディア: 大型本 HTML や…

657. Robot Return to Origin

LeetCode の挑戦ログ Problem https://leetcode.com/problems/robot-return-to-origin/ 座標位置を上下左右に動かす指示が文字列で与えられる R (right), L (left), U (up), and D (down) 元の位置 (0, 0) に戻っていたら true , 戻っていなければ false を…

A - Remaining Balls

AtCoder の挑戦ログ Problem https://atcoder.jp/contests/abc154/tasks/abc154_a Solution import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String color1 = sc.next(); sc…

728. Self Dividing Numbers

LeetCode の挑戦ログ Problem https://leetcode.com/problems/self-dividing-numbers/ 整数の範囲が渡される 範囲の中から、自身の桁ごとの数字で割り切れる値を抽出する 0 を含む値は除外する Solution class Solution { public List<Integer> selfDividingNumbers(i</integer>…

627. Swap Salary

LeetCode の挑戦ログ Problem https://leetcode.com/problems/swap-salary/ salary テーブルの性別を入れ替える f の行は m に m の行は f に Solution UPDATE salary SET sex = ( CASE WHEN sex = 'f' THEN 'm' ELSE 'f' END ); Impressions CASE 文便利

961. N-Repeated Element in Size 2N Array

LeetCode の挑戦ログ Problem https://leetcode.com/problems/n-repeated-element-in-size-2n-array/ 2N サイズの配列が与えられる N+1 種類の整数が含まれている 一つの要素が N 回繰り返されている N 回繰り返されてる数を特定する Solution class Solutio…

JUnit5 を IntelliJ IDEA から実行できない #IntelliJIDEA

TL;DR Maven のプロジェクトに JUnit5 の依存を追加した コマンドラインからは通るが、 IntelliJ IDEA からの実行がエラーになる junit-platform-launcher を依存に追加したら実行できるようになった 環境 openjdk 12.0.1 IntelliJ IDEA 2019.3.2 詳細 公式…

905. Sort Array By Parity

LeetCode の挑戦ログ Problem https://leetcode.com/problems/sort-array-by-parity/ 正の整数からなる配列を渡される 偶数 -> 奇数の順にソートする 偶数 -> 奇数であれば他の順序は問わない Solution class Solution { public int[] sortArrayByParity(int…

転職ドラフトに参加してみました

はじめに こちらの記事は転職ドラフト体験談投稿キャンペーンに参加しています。 job-draft.jp 転職のあらましは別記事に書いてあるのですが、転職ドラフトにも参加してみたので、この記事を書いています。 su-kun1899.hatenablog.com 転職ドラフトに登録し…

832. Flipping an Image

LeetCode の挑戦ログ Problem https://leetcode.com/problems/flipping-an-image/ バイナリマトリックス(二次元配列)が渡される 各行をひっくり返した後、反転させる Solution class Solution { public int[][] flipAndInvertImage(int[][] A) { return Ar…

就職します

就職活動終わりました ブログにも書いてたんですが、年末で前職を退職して就職活動してました。 無事に次のところも決まったので、どんな感じだったのか軽くまとめておきます。 su-kun1899.hatenablog.com 謝辞 ブログや SNS で公開してたこともあり、本当に…

1299. Replace Elements with Greatest Element on Right Side

LeetCode の挑戦ログ Problem https://leetcode.com/problems/replace-elements-with-greatest-element-on-right-side/ 配列の右側で最大の値に置き換えた配列を作成する 配列の最後に -1 をつける Solution class Solution { public int[] replaceElements(…

数字の配列を降順にソートする #java

概要 数値の配列を降順にソートされたリストにする Stream の sorted を使う Collections の reverseOrder で降順になる サンプル int[] nums = {3, 6, 8, 1, 5, 4, 7, 9, 2}; List<Integer> sorted = Arrays.stream(nums).boxed() .sorted(Collections.reverseOrder(</integer>…

JavaScript で隔週判定する #javaScript

概要 GAS (Google Apps Script) のトリガーは隔週実行に対応していない。 なので、隔週判定を自前で実装してみる。 考え方 「基準日」と「判定日」を引数で渡す 「基準日」と「判定日」の経過時間を算出する 経過時間を一週間の経過時間で割る 結果が偶数で…

配列を任意のグループに分ける #javaScript

概要 JavaScript で配列を任意のグループに分ける。 例えば 7 人を 3 グループに分けると 3人-2人-2人みたいに分けたい。 考え方 「配列」と「分けたい数」を引数で受け取る まず割り切れる分を分けてしまう 余りを改めて配る 要素数が 7 だと 7 / 3 = 2 余…

アジャイルコーチングを読んだ

アジャイルコーチング作者:Rachel Davies,Liz Sedley出版社/メーカー: オーム社発売日: 2017/01/21メディア: 単行本(ソフトカバー) 永らく積まれていたのだが、ようやく読んだ。 僕はチームをリードする立場になったことはあってもコーチという立場になっ…

テストコードでのヘルパーとか重複とか

テストコードでのヘルパーとか重複について考えた。 gihyo.jp ちょっと調べたら、少し前のだけれども大御所の人たちの記事を見つけた。 僕もテストコード内のヘルパーや重複にはかなり慎重派。 もちろん見通しのよさや独立性っていう話もあるんだけれども、…

CircleCI で MySQL にパラメータを渡す #CircleCI

TL;DR command 要素を使うとパラメータを渡せる。 - image: circleci/mysql:5.7-ram environment: MYSQL_ROOT_PASSWORD: password MYSQL_DATABASE: test command: ['--character-set-server=utf8mb4'] こんな感じにすると動く。 経緯 Invalid datetime forma…

MySQL コンテナの起動を待つ #mysql #docker

概要 Docker で MySQL コンテナの起動を待つ方法まとめ nc で待つ nc コマンドで待つ。 CircleCI の Example にあった。 for i in `seq 1 10`; do nc -z 127.0.0.1 3306 && echo Success && exit 0 echo -n . sleep 1 done echo Failed waiting for MySQL &&…