何かやってみるブログ

興味をもったこと、趣味のこと、技術について色々書きます。

2022-03-01から1ヶ月間の記事一覧

2022年3月観たアニメ、読んだマンガ、やってみたことなど

映像コンテンツ コタローは1人暮らし からかい上手の高木さん3 マンガ 松井さんはスーパールーキー 1~3巻 ハレ婚。全巻 彼女、お借りします 1 〜25巻 ショーハショーテン! 1 ドラフトキング 1〜2巻 寄生獣 1〜4巻 やってみたこと LeetCodeをでアルゴリズムの…

[Rails メモ] Deviseでログイン回数とかトラッキング情報を意図的にUpdateしたい場合

レビューしている時に touchメソッド使って current_sign_in_atとかを力技で更新をしているのをみてもっと良い方法がないかと調べて見つけたのでメモに残す。 結論としては Devise::Models::Trackableモジュールの #update_track_fields!を使えば良い。 リポ…

LeetCode Nth Highest Salary を解いてみた

問題 https://leetcode.com/problems/nth-highest-salary/ 解いた CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT BEGIN RETURN ( # Write your MySQL query statement below. SELECT DISTINCT Salary FROM (SELECT DENSE_RANK() OVER(ORDER BY Sa…

LeetCode Implement strStr()を解いてみた

問題 https://leetcode.com/problems/implement-strstr/ 解いた # @param {String} haystack # @param {String} needle # @return {Integer} def str_str(haystack, needle) return -1 unless haystack.include? needle haystack.index(needle) end 結果

LeetCode department-top-three-salariesを解いてみた

問題 leetcode.com 解いた SELECT Department, Employee, Salary FROM ( SELECT ( SELECT DISTINCT Salary FROM ( SELECT DENSE_RANK() OVER (ORDER BY Salary DESC) AS 'rank', Salary FROM Employee WHERE Employee.departmentId = DD.id) E WHERE E.rank …

LeetCode Department Highest Salaryを解いてみた

問題 https://leetcode.com/problems/department-highest-salary/ 解いた SELECT EED.name AS 'Department', Employee.name AS 'Employee', Employee.salary AS 'Salary' FROM ( SELECT EE.Max, Department.name FROM ( SELECT MAX(salary) AS Max, departme…

LeetCode Merge Two Sorted Listsを解いてみた。

問題 https://leetcode.com/problems/merge-two-sorted-lists/ 解いてみた # Definition for singly-linked list. # class ListNode # attr_accessor :val, :next # def initialize(val = 0, _next = nil) # @val = val # @next = _next # end # end # @para…

LeetCode Consecutive Numbers を解いてみた

問題 https://leetcode.com/problems/consecutive-numbers/ 解いた SELECT L.num AS 'ConsecutiveNums' FROM Logs L, Logs LL, Logs LLL WHERE L.id = LL.id - 1 AND LL.id = LLL.id - 1 AND L.num = LL.num && LL.num = LLL.num GROUP BY L.num; 結果

LeetCode Delete Duplicate Emailsを解いてみた

問題 https://leetcode.com/problems/delete-duplicate-emails/ 解いた DELETE P FROM Person AS P, Person AS PP WHERE P.email = PP.email AND P.ID > PP.id; 結果

LeetCode Rank Scoresを解いてみた

問題 https://leetcode.com/problems/rank-scores/ 解いた SELECT score, DENSE_RANK() OVER (ORDER BY score DESC) 'rank' FROM Scores ORDER BY score DESC; 結果

LeetCode Rising Temperatureを解いてみた

問題 https://leetcode.com/problems/rising-temperature/ 解いた SELECT WWW.id FROM ( SELECT WW.id, W.temperature AS 'pre_temp', WW.temperature AS 'today_temp' FROM Weather AS W, Weather AS WW WHERE DATEDIFF(WW.recordDate, W.recordDate) = 1 O…

LeetCode Median of Two Sorted Arraysを解いてみた

問題 https://leetcode.com/problems/median-of-two-sorted-arrays/ 解いた # @param {Integer[]} nums1 # @param {Integer[]} nums2 # @return {Float} def find_median_sorted_arrays(nums1, nums2) nums = (nums1 + nums2).sort result = 0 if nums.lengt…

LeetCode Customers Who Never Orderを解いてみた

問題 https://leetcode.com/problems/customers-who-never-order/ 解いた SELECT name AS 'Customers' FROM Customers LEFT JOIN Orders ON Customers.id = Orders.customerId WHERE customerId IS NULL; 結果

LeetCode Duplicate Emailsを解いた

問題 https://leetcode.com/problems/duplicate-emails/ 解いた SELECT email FROM Person GROUP BY email HAVING COUNT(email) > 1; 結果

LeetCode Employees Earning More Than Their Managers解いてみた

問題 https://leetcode.com/problems/employees-earning-more-than-their-managers/submissions/ 解いた サブクエリを使えば良い。 SELECT name AS Employee FROM Employee AS E WHERE salary > ( SELECT salary FROM Employee where id = E.managerId ) ; …

LeetCode Valid Parenthesesを解いてみた

問題 https://leetcode.com/problems/valid-parentheses/ 解いた # @param {String} s # @return {Boolean} def valid_operators ["()", "{}", "[]"] end def is_valid?(char) valid_operators.include? char end def close_operators [")", "}", "]"] end d…

LeetCode Longest Common Prefixを解いてみた

問題 https://leetcode.com/problems/longest-common-prefix/ 解いた # @param {String[]} strs # @return {String} def longest_common_prefix(strs) data = strs[0] result = "" data.chars.each_with_index do |char, index| if strs.all? { |str| str[in…

LeetCode Combine Two Tablesを解いた

問題 https://leetcode.com/problems/combine-two-tables/ 解いた SELECT Person.firstName, Person.lastName, Address.city, Address.state FROM Person LEFT OUTER JOIN Address ON Person.personId = Address.personId 結果 LEFT OUTER JOIN すれば良いで…

LeetCode Roman to Integerを解いた

問題 https://leetcode.com/problems/roman-to-integer/ 解いた # @param {String} s # @return {Integer} def roman_to_int(s) convert_hash = { "I" => 1, "V" => 5, "X" => 10, "L" => 50, "C" => 100, "D" => 500, "M" => 1000 } result = 0 chars = s.c…

LeetCode Palindrome Numberを解いてみた。

問題 leetcode.com 解いた # @param {Integer} x # @return {Boolean} def is_palindrome(x) p x.to_s.reverse == x.to_s end 結果 文字列にしちゃうと瞬殺の問題だった。いつか文字列にしないで解く方法を考えてみたい。

LeetCode Add Two Numbers を解いてみた

問題 leetcode.com 解いた # Definition for singly-linked list. # class ListNode # attr_accessor :val, :next # def initialize(val = 0, _next = nil) # @val = val # @next = _next # end # end # @param {ListNode} l1 # @param {ListNode} l2 # @ret…

LeetCode Two Sumを解いてみた。

転職活動とかしてみるとコーディング試験とか受けさせられる機会があったので LeetCodeを始めてみた。 leetcode.com とりあえず、レベル easyな問題を得意なRubyで解いてみた。 問題 https://leetcode.com/problems/two-sum/ 解いた # @param {Integer[]} nu…

[Herokuメモ] Goで作成したginのアプリケーションをHerokuへデプロイした時に発生したWeb process failed to bind to $PORT within 60 seconds of launch について

デプロイしてみたアプリと経緯 調査 原因 修正 動作確認 デプロイしてみたアプリと経緯 以下のチュートリアルで作成したginを使用したアプリ go.dev 以下のように gin のリリースモードになるようにしてデプロイした。 gin.SetMode(gin.ReleaseMode) 調査 ロ…