投稿

英会話弱者が英語を話せるようになるまで Day1

イメージ
英会話始めたってよ はい。 実は最近英会話を始めまして。 元々それなりに英会話に興味はあったのですが、色々と理由を付けてやらない日々が続いていたのですが、最近少し時間ができて30分位のオンライン英会話くらいなら受けられる時間はありそうだな、と思ったので始めました。 ちなみに僕がやっているのはレアジョブ英会話で、活動履歴的には以下のような感じ。 地味に1日もサボらずしっかりやれていますね。 LeetCodeの記事を書いていた時も感じていたことなのですが、やっぱりやらないと気持ち悪くなるくらいまである程度無理してでも続けるのが長続きのコツなのかなー、と思います。 あくまで主観ですし、そうは言っていられない状況があるのも事実でしょうけど。 それで、なぜこんな記事を書いているかというと、ノートとかに物理で書くのも良いけど、せっかくなら英語の勉強した内容とかをこちらでメモ的に記事として残すことで困った時のクイックリファレンスになるし、ブログの継続にも良いかなー、と思ったからです。 あ、ちなみに英語に関しての実力は以下の通りです。 TOEICは公開テストで800 大学受験時にそこそこ勉強していた。 昔大学のカリキュラムでオンライン英会話受講歴あり(3ヶ月) こんな感じです。 正直TOEICはこれだけだといくらでもいるようなレベルだと思うので全く自慢にはならないかな〜と思っています。ただ、これ以上あげるにもそこまでモチベが上がらないのも事実。 それならTOEICの勉強はやめて、コミュニケーション方面に振り切れるのも良いかも!ということですね。 現在受講中のレッスンは実用英会話レベル4。英会話を基本から学べていい感じです。 Chapter1 語彙 move in(引っ越す) fly in(飛行機で来る) meet[person]([人に]会う) run into[person]([人に]偶然会う) start a new job(新しい仕事を始める) start taking [language] lessons([語学の]レッスンを受け始める) とりあえず今回はここまで。 それぞれのLessonについてまとめていければいい感じの復習になりそうなので頑張ります〜。

久しぶりにアクセスしたらGoogleアドセンスの申請が出来るようになっていた。

イメージ
なんだか条件がよく分からないが、いきなり出来るようになっていて驚いた。 僕の環境では以下のようになっており、 今まではそもそもボタンが存在していなかったので、そもそも申請云々という状況ですらなかった。  初めて記事を投稿したのが6月19日で、そもそもブログを始めたきっかけもQiitaのみに投稿し続けるのはどうなん?依存しすぎじゃない?という理由なので、そこまで活発に投稿し続けるかも分からなかったが、今までの記事を移行したり、新しく記事を書いたりをチマチマしていたら気付いたら100件の記事をゆうに超えていた(そもそもゼロから始めるLeetCode自体100日間続けているのでそれだけでも100件は投稿していることになる。)。 楽しく続けられれば良いなぁと思いつつも、LeetCodeは最近解いておらず、セキュリティとかネットワークとかデータベース周りの知識のインプットに勤しみすぎて投稿もしなくなっていたが、ふとJavaでもアルゴリズム周りのコードを書きたいと思い立ち、あれ?そういやJavaでLeetCodeを解いた記録を取るためにリポジトリの紹介をブログでしたよな?と思い立ちブログの管理画面を見たらタイトルのようになっていた。 どうやら調べてみると開設から何日経つと良いとか、何件記事を書くと良いとか、PVがこれ以上いくとボタンが現れるとか色々とネットの記事を読んでみたが、結局どういった条件なのかは分からないままであった。   あ、Googleさん!これは至って健全な技術系ブログです!どうかアドセンスを認可してください!  といった風に媚びつつも、頑張って誰かの役に立つような記事をこれからも投稿していきたいとは考えている。 具体的なテーマとしてはやはり最近流行りのフレームワークとか言語、といった風な技術よりもCSよりの話の方が今は興味があるし、プライベートで楽しみながら勉強できているのもこちらなので、業務に役に立ちそうなことを学びながらコンプライアンスに引っかからないような健全な記事を心がけて活動をしていきたい。 久しぶりに書いたらどういうテンションで書いていいか分からんくなった・・・

ゼロから始めるLeetCode 目次

概要 海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。 どうやら多くのエンジニアはその対策としてLeetCodeなるサイトで対策を行うようだ。 早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイトであり、海外のテックカンパニーでのキャリアを積みたい方にとっては避けては通れない道である。 と、仰々しく書いてみましたが、私は今のところそういった面接を受ける予定はありません。 ただ、ITエンジニアとして人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。 Leetcode Python3で解いています。 リンク集 この記事をストックしておくと新しい記事の追加時に通知されます。 コードだけ見たい方はこちらの Github をご覧ください。 番号はLeetCodeの問題へのリンク、問題のリンクは解説記事についてのリンクです。 間違えているリンク等あればコメント頂けると幸いです。 Day 番号 問題 難易度 1 1389 Create Target Array in the Given Order Easy 2 1108 Defanging an IP Address Easy 3 1313 Decompress Run-Length Encoded List Easy 4 938 Range Sum of BST Easy 5 1266 Minimum Time Visiting All Points Easy 6 1342 Number of Steps to Reduce a Number to Zero Easy 7 104 Maximum Depth of Binary Tree Easy 8 1302 Deepest Leaves Sum Medium 9 701 Insert into a Binary Search Tree Medium 10 1431 Kids

ゼロから始めるLeetCode Day110「1535. Find the Winner of an Array Game」

概要 問題 解法 概要 海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。 どうやら多くのエンジニアはその対策としてLeetCodeなるサイトで対策を行うようだ。 早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイトであり、海外のテックカンパニーでのキャリアを積みたい方にとっては避けては通れない道である。 と、仰々しく書いてみましたが、私は今のところそういった面接を受ける予定はありません。 ただ、ITエンジニアとして人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。 Leetcode Python3で解いています。 ゼロから始めるLeetCode 目次 前回 ゼロから始めるLeetCode Day109「213. House Robber II」 次回 ゼロから始めるLeetCode Day111「682.Baseball Game」 Twitter やってます。 問題 1535. Find the Winner of an Array Game 難易度はMedium。 久しぶりに問題集以外から解きました。 問題としては、整数の入った配列 arr と,整数 k が与えられている。 配列の最初の2つの要素(すなわち arr[0] と arr[1] )の間でゲームが行われます。ゲームの各ラウンドでは, arr[0] と arr[1] を比較し、大きい方の整数が勝ち、0 の位置にとどまり、小さい方の整数は配列の末尾に移動します。ゲームは、ある整数が k 回のラウンドに連続して勝利したときに終了します。 ゲームに勝つ整数を返します。 なお、ゲームの勝者が存在することが保証されています。 Example 1: Input: arr = [2,1,3,5,4,6,7], k = 2 Output: 5 Explanation: Let’s see the rounds of the game: Round | arr | winner

ゼロから始めるLeetCode Day109「213. House Robber II」

概要 問題 解法 概要 海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。 どうやら多くのエンジニアはその対策としてLeetCodeなるサイトで対策を行うようだ。 早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイトであり、海外のテックカンパニーでのキャリアを積みたい方にとっては避けては通れない道である。 と、仰々しく書いてみましたが、私は今のところそういった面接を受ける予定はありません。 ただ、ITエンジニアとして人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。 Leetcode Python3で解いています。 ゼロから始めるLeetCode 目次 前回 ゼロから始めるLeetCode Day108「300. Longest Increasing Subsequence」 次回 ゼロから始めるLeetCode Day110「1535. Find the Winner of an Array Game」 Twitter やってます。 問題 213. House Robber II 難易度はMedium。 コーディング面接対策のために解きたいLeetCode 60問 からの抜粋です。 問題としては、あなたは街中の家々を襲っているプロの強盗です。それぞれの家には一定の金額のお金が隠されています。この場所にある全ての家は円を描くように配置されています。つまり、最初の家は最後の家の隣人です。一方、隣の家にはセキュリティシステムが接続されており、同じ夜に隣の家に侵入された場合、自動的に警察に連絡してくれる。 各家の金額を表す非負の整数のリストが与えられたとき,警察に通報せずに今夜奪える最大金額を決定する、というものです。 Example 1: Input: [2,3,2] Output: 3 Explanation: You cannot rob house 1 (money = 2) and then rob house 3 (money = 2), beca

ゼロから始めるLeetCode Day108「300. Longest Increasing Subsequence」

概要 問題 解法 概要 海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。 どうやら多くのエンジニアはその対策としてLeetCodeなるサイトで対策を行うようだ。 早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイトであり、海外のテックカンパニーでのキャリアを積みたい方にとっては避けては通れない道である。 と、仰々しく書いてみましたが、私は今のところそういった面接を受ける予定はありません。 ただ、ITエンジニアとして人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。 Leetcode Python3で解いています。 ゼロから始めるLeetCode 目次 前回 ゼロから始めるLeetCode Day107「98. Validate Binary Search Tree」 次回 ゼロから始めるLeetCode Day109「213. House Robber II」 Twitter やってます。 問題 300. Longest Increasing Subsequence 難易度はMedium。 コーディング面接対策のために解きたいLeetCode 60問 からの抜粋です。 問題としては、整列されていない整数の配列が与えられたとき、最も長く増加する部分列の長さを求めなさい、というものです。 Example: Input: [10,9,2,5,3,7,101,18] Output: 4 Explanation: The longest increasing subsequence is [2,3,7,101] , therefore the length is 4 . 解法 class Solution : def lengthOfLIS ( self , nums : List [ int ] ) - > int : if not nums : return 0

ゼロから始めるLeetCode Day107「98. Validate Binary Search Tree」

概要 問題 解法 概要 海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。 どうやら多くのエンジニアはその対策としてLeetCodeなるサイトで対策を行うようだ。 早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイトであり、海外のテックカンパニーでのキャリアを積みたい方にとっては避けては通れない道である。 と、仰々しく書いてみましたが、私は今のところそういった面接を受ける予定はありません。 ただ、ITエンジニアとして人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。 Leetcode Python3で解いています。 ゼロから始めるLeetCode 目次 前回 ゼロから始めるLeetCode Day106「209. Minimum Size Subarray Sum」 次回 ゼロから始めるLeetCode Day108「300. Longest Increasing Subsequence」 Twitter やってます。 問題 98. Validate Binary Search Tree 難易度はMedium。 コーディング面接対策のために解きたいLeetCode 60問 からの抜粋です。 問題としては、二分木が与えられた場合,それが有効な二分探索木(Binary Search Tree)であるかどうかを判断してください、というものです。 なお、二分探索木は以下のように定義されているとします。 ノードの左の木には、そのノードの値よりも小さい値を持つノードのみが含まれます。 ノードの右の木には、そのノードの値よりも大きい値を持つノードのみが含まれます。 左の木と右の木の両方が二分探索木でなければなりません。 解法 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val=0, left=None, right=None): #