Paiza 解題互助會


#1

大概就是這邊一直放著生蚊子不好,且最近都在寫奇怪的東西(日常的區塊練到藍牙 GATT 到 LED 燈板,Flutter 還有放假要試 Web Bluetooth API … 雖然沒在這發表但每日都忙碌著)

所以想說找啥鬼來練練,而 Paiza 這主題其實很久了,甚至很久以前就可以開出整套 Paiza 的網站(其實就是 docker 實作)但最後因為沒有太多商業價值而放棄

anyway 我應該會開始做 Paiza 的解題就是,想要參加的可以來一起玩,當然要貼題目跟答案就是,今晚開始,大家來燒腦唄 : )


#2

D002

# 輸入兩個數字,比較大小,輸出比較大的,相同輸出 "eq" 即可
a , b = gets.split(' ').map{|i|i.to_i}
if a > b
  puts a
elsif b > a
  puts b
else
  puts 'eq'
end

D003

# 99 乘法表,輸入 N 輸出 N x 1 .. N x 9
offset = gets.to_i
ans = []
(1..9).each do |i|
  ans << offset * i
end
puts ans.join(' ')

D004

#大家 hello,輸入 N 和 N 個 name,接起來類似變成 Hello {1},{2},{3}.

source = []
  gets.to_i.times do
  source << gets[0..-2]
end
puts "Hello #{source.join(',')}."

D005

#等差數列,輸入起始值,遞增值,輸出 10 筆數字
start , offset = gets.split(' ').map{|i|i.to_i}
ans = []
10.times do |i|
  ans << start + offset * i
end
puts ans.join(' ') 

D006

# 單位計算,輸入N & 尺寸單位,輸入轉換成 mm 的大小
number , type = gets.split(' ')
case type
when 'km'
  number << '000000'
when 'cm'
  number << '0'
when 'm'
  number << '000'
end
puts number

D007

#N倍文字列,輸入 N 輸出 N 個 * 字符
puts '*' * gets.to_i

D008

# 奇數偶數,輸入 N 輸出 even 或 odd
puts gets.to_i % 2 == 1 ? 'odd' : 'even'

D009

# 西曆計算,輸入兩個年份,輸出兩個年份經過了幾年
puts gets.split(' ').reverse.map{|i|i.to_i}.inject(:-)

D010

# Email,類似輸入 info\npaiza.jp 輸出成 info@paiza.jp
puts "#{gets[0..-2]}@#{gets[0..-2]}"

D011

# 輸入一個英文字母,輸出它在字母順序中排列第幾個
puts gets.strip.upcase.ord - 64

D012

# 求得絕對值,輸入 N 輸出絕對值 N
puts gets.strip.to_i.abs

D013

# 商數和餘數,輸入兩個數字,輸出兩個數字互除的商和餘
a , b = gets.strip.split(' ').map{|i|i.to_i}
puts "#{a / b} #{a % b}"

D014

# 輸入文字轉大寫
puts gets.strip.upcase

D015

# 輸入 N ,輸出 N , N-1 , N-2 ... 1
from = gets.strip.to_i
from.times do |i|
  puts from - i
end

D016

# 文字裁剪,輸入字串 A,長度 B,輸出符合 B 長度的 A
puts gets.strip[0...(gets.to_i)]

D017

# 最大最小,輸入 5 個數字,輸出最大最小值
source = []
5.times do
  source << gets.to_i
end
source.sort!
puts source[-1]
puts source[0]

話說 D 系列有 1XX 題的啊||| (( 有點懶了 X"DD


#3

版大會考慮用別的題庫嗎?比如LeetCode

paiza日文是很大的障礙啊連題目在哪都找不到… T_T


#4

yooo~ 我是沒意見啦哈哈哈,單純之前都玩 Paiza 就是,我的演算法也不是很好所以到處玩玩 X"D,所以最近也來玩 LeetCode 好了,不過最近也還在玩 Web Bluetooth API + Pi + LED Matrix … 整票都打通跑起來了,在寫自己要的協定中(甚至想說來寫筆電間的遊戲算了||||) … 所以這邊應該更新緩慢 …

Paiza 的題目應該在這邊開始

不要要先註冊就是了


#5

我另外開個討論區放 LeetCode 題目,這裏留給看得懂日文題目的英雄好漢們 XD

JC 大辛苦啦,忙完考慮分享一下?寫自己要的協定?Flutter? XD


#6

用 C 寫 Pi 專用的 HUB75 協定

用 C 開 unix socket server (multi-thread) 給 Golang 使用

Golang 轉 GIF 影片為 frame,透過 unix socket server 丟給 C 播放(然後自己寫了一個傳輸協定 …)

Golang 開 Bluetooth GATT Server 丟藍芽訊號出來

以上都已完成測試,而現在在用 Web Bluetooth API 丟給 Golang 中(初次測試也都過了,還要另外再寫一個協定 …) … 簡單的來說,我想拿筆電 / 手機的藍芽控制 LED 燈板哈哈,之前中途拍的作品,還去切壓克力之類的自己弄哩

然後藍芽研究到後面 … 發覺我可以用網頁寫所有的藍芽應用 … 缺點是 client only 所以弄個設備當 relay 應該就可以開成多人藍牙遊戲有的沒的 …