iT邦幫忙

2021 iThome 鐵人賽

DAY 13
0
自我挑戰組

打破結界~ Ruby on Rails ~面試題!系列 第 13

Day-13 Ruby簡單的程式考題!

  • 分享至 

  • xImage
  •  

有些公司會有上機的程式考題,相信初心者會怕怕(我個人是會啦),但從簡單的題目開始學習吧!


  1. 把陣列 [1, 2, 3, 4, 5] 變成 [1, 3, 5, 7, 9]
  2. 把陣列 [1, 3, 4, 1, 7, nil, 7] 由小到大排序,並且移除 nil 以及重複的數字。
  3. 印出 1 ~ 100 之間所有的單數
  4. 計算 1 ~ 100 的總和
  5. 印出 5 個小於 100 且不重複的亂數
  6. 陣列 a = [1, 2, 3, 1, 2, 1, 3, 1, 2, 3, 4, 5, 6],請計算在陣列 a 中,每個數字出現的次數。

全部看完後,第6題比較難一些!每題的解法無固定,能解出來的就是好方法!以下是我的解法可參考~


1的解法
p [1, 2, 3, 4, 5].map{ |i| i * 2–1 }

2的解法
p [1, 3, 4, 1, 7, nil, 7].compact.uniq.sort

3的解法
p (1..100).to_a.select{ |i| i.odd? }

4的解法(比較特別,居然有.sum可以用!)
p (1..100).sum

5的解法
p (1..99).to_a.sample(5)

6的解法(這題比較難一些,要花時間去理解)
a = [1, 2, 3, 1, 2, 1, 3, 1, 2, 3, 4, 5, 6]
p a.sort.map { |i| [i, a.count(i)]}.to_h


參考資料

我的學習經驗談


上一篇
Day-12 Ruby裡Block,Proc,Lambda差別?
下一篇
Day-14 請說明 Ruby 中的 self 是什麼意思?
系列文
打破結界~ Ruby on Rails ~面試題!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言