LeetCode: two sum

最近研究以外であんまりコードを書いていなかったので会社に入ってから使うであろうRubyでLeetCodeを解いてリハビリをしていこうと思う
1日1問を目標に解く&解説していけばいきたい 今日ははじめにTwo Sumを解いた

問題

Given an array of integers, return indices of the two numbers such that they add up to a specific target.
整数の配列を指定すると、特定のターゲットに加算されるように2つの数値のインデックスを返します。

You may assume that each input would have exactly one solution, and you may not use the same element twice.
各入力には1つの解しか存在しないと想定し、同じ要素を2回使用することはできません。

俺の回答

# @param {Integer[]} nums
# @param {Integer} target
# @return {Integer[]}
def two_sum(nums, target)
    hash = {}  
    for i in 0..nums.size - 1 do
        hash[nums[i]] = i;
    end
    
    for i in 0..nums.size - 1 do
        value = target - nums[i]
        if hash.has_key?(value) && hash[value] != i
            return [i, hash[value]]  
        end 
    end
end

解説

1問目だから結構簡単だった
ハッシュテーブルに各要素の値とインデックスを格納して、その後にtargetから各要素の値を引いた値がハッシュテーブルのkeyに存在するか探索してオワオワリ

最初「You may assume that each input would have exactly one solution, and you may not use the same element twice. 」の文を読み飛ばしてたせいで、なんでWAになるんや穀すぞと思っていたけど俺が悪かっただけでした

お就活の振り返り(20卒)

自分の備忘録として就活の振り返りを書く ちなみに20卒の院生です

タイムスケジュール

~ 2018年6月

  • なんもしてない(すごい)

2018年7月

  • インターンの応募を2社した(えらい)
  • 1社面接に寝坊した*1

  • もう1社は落ちた*2

  • 「なんでもできるじゃん!」みたいなこと言われたのになんやかんやで落ちた*3

2018年8月 ~ 2018年11月

  • なんもしてない
  • 一応理由があってハゲが発症しておくすりの副作用でなんも動けなかったという理由がある
    • 今は副作用のある治療法はやめた

2018年12月

  • 真面目に就活するぞという気になった
  • 国際会議の前日にサポーターズに参加した(アホか?) 10社と話してフィードバックは下のような感じでいきなり最終面接を呼ばれたりなどがあった

    よかった点:選択した企業数
    技術力: 4社
    コミュニケーション: 1社
    思考力: 2社
    意志・意欲: 4社

  • 京都の某大手ゲーム会社のインターンに参加した

    • 内容書けないけどめっちゃ最高だったし、労働の気持ちが高まった
    • 別に志望してない学生も絶対に参加したほうがいいと思う
  • 後輩のお誘いでCAの偉い人と飯を食べた
    • めっちゃいい感じの飯を奢ってもらいつつ、アドテクとかどんな感じのことを考えてるのかを話を聞けて楽しかった
    • 後日後輩からすごい高評価でしたよ~!という報告を受けた
  • とりあえず3社に絞って面接を受け始めた
    • A社 研究開発?/給与の圧倒的暴力/初手最終面接だった(ナンデ?)
    • B社 Web系/福岡にもあってよき/露出が多い/プロダクトがすき
    • C社 Web系/会社の方向性みたいなのが自分と合ってた

2019年1月

  • A社の最終面接(研究開発職)を受ける
    • 落ちた
    • 給料と業務どっちも魅力的だったので空気だけでも吸いたかった
    • やる気や将来性は評価されてたっぽいがミスマッチなどで落ちる

2019年2月

  • C社から2次面接で落とされる
    • 正直志望度は一番低かったけど結構メンタルにキた
  • 携帯作ったりゲーム機作ったりしてる会社の1dayインターンに参加した
    • 学生側がクソイキリ質問をして社員さんが困ってる記憶しかない
    • 業務内容や社風はすごい魅力を感じた
  • B社から内定を頂いた
    • 落ちたと思ってたし正直めっちゃ嬉しかったし本当に感謝しかない *4
    • 受かった理由が知りたい
  • 内定先のランチに誘われてホイホイついていく
    • たのしかった(脳死
    • 内定承諾する連絡を爆速でいれる
  • 内定承諾連絡後にこの会社でいいのかとめっちゃ悩む(給与とかの面で)
    • 研究室で悩みまくってたら研究室のボスから「うるせえ!」と一言釘刺されてしまった
    • インターネッツに転がってる情報とかめっちゃ調べてた
      • なんやかんやで納得した

2019年3月

  • 内定承諾書を郵送して一応終了(単位が欲しいのでインターンとかは参加したい)

総評

就活は自己肯定感がバク上げされるので楽しい これからは趣味の開発だったり研究だったりがんばりたいと思います

*1:マジで申し訳ないと思ってます

*2:いろいろあった

*3:なにもできない

*4:プロダクト名もドわすれする、「将来どんな大人になりたい?」みたいな質問に「まともな大人になりたいっすね~」みたいなことを言ってしまうなどいろいろのやらかしをしてしまったので落ちたのかと思ってた

Docomo音声合成APIの結月ゆかりさんで遊ぶ

寝てました。ごーすとです。

ブログ力爆上げアドベントカレンダー11日目です(遅刻しました)

adventar.org

 

 

docomo音声合成APIに結月ゆかりさんがいたので紹介します

dev.smt.docomo.ne.jp

 

SSMLっていう音声合成マークアップ言語で音声のピッチやらなんやら書いてPOSTでウェイって投げるとゆかりさんが無料で喋ってくれます

POSTを投げるとaudio/l16(PCM音源)が返ってくるのでこのままだと普通は再生できません

なので、ffmpegやらSoXやらでWAVファイルに変換してあげると再生できるようになります

下に今回書いたPythonで書いたサンプルをのっけておきます

 

 

おわり

ブログ力爆age Advent Calendar 2017 3日目

ブログ力爆age Advent Calendar 2017 3日目

技術的な要素はないです LaTeXについて語ろうと思ったけど書く時間がないので今年遊んで楽しかったゲームとか使ってよかったソフトとか紹介しようと思います

ゲーム部門

Deceit

最初はDeceitを紹介しようと思います 人狼FPSにいい感じに落とし込んだ感じのゲームです 感染者(人狼)2人、健全者(村人)4人に分かれてプレイします 占いはアイテムを拾ってするので、割と占い騙りはキマるし気持ちいい 今年買ってよかったゲームNo1かもしれない 10月ぐらいから無料化したのでぜひ、 store.steampowered.com

OneShot

ニコちゃんかわいいよお;; store.steampowered.com

Brawlhalla

スッチム版スマブラ、基本無料で無課金にも優しい、俺は課金した store.steampowered.com

ソフト部門

TexPad

論文執筆の時に買った24ドルぐらいだった気がする 自動コンパイルとPDFの見ている位置と.texファイルの見ている位置を同期してくれる機能が最高&最高 latexmkとAtom or Vimで書いてたけどこれなしじゃTeXPadでしか書けない体になってしまった .tpbuildファイルを編集するとコンパイラとかのいろいろ設定できたりする www.texpad.com

Fusion360

3D CAD www.autodesk.co.jp

明日はytm_nさんです

ICPC奮闘記

ICPC2016国内予選に出たのでブログに書き残しておきます。

@mac2ratと@haizi314とtsurai.jpの名を世界に轟かせるべくチームtsurai.jpとして出場しました。

A問

ぼくが一瞬でといた。アルゴリズムとか考えるまでもなく全探索でウェイっとした。

インテリジェイの出力結果がなぜか崩壊するなどあったが無事AC

B問

ぼくと@haizi314がC問考察してるうちに@mac2ratがAC

C問

エラトステネスの篩のふるいっぽいねということを@mac2ratさんに伝えてAC

(ほんとうはぼくが実装する予定だったけどテンパって死んだ)

D問

解く時間が1時間30分あったのに無事死亡

敗因は問題見た瞬間に僕がこれまでのICPCの傾向や計算量も考えずに「深さ優先探索でチョロくね?楽勝じゃね?予選突破余裕っしょw」っつってみんなの頭が固まってしまったこと。

30分ぐらいで実装できて、勝利を確信したけど計算量多すぎて処理が終わらず。

終了3分前にメモ化できる事に気づき完全にお通夜状態で終了(ぼくのせいですすみませんでした)

 

ということでチームtsurai.jpは国内予選96位で終了です。

去年より10位上がったので成長した(気がする)。

来年はチームに貢献できるよう圧倒的成長したい。