iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 22
0
自我挑戰組

自我挑戰 Ruby 刷題 30 天系列 第 22

Day22 - Codewars 刷題

出門前刷一波
讓自己不用一直惦記著鐵人賽還沒寫 xd

Codewars LV8x1、LV7x1


題目(Convert number to reversed array of digits)

Convert number to reversed array of digits
Given a random number:

C#: long;
C++: unsigned long;
You have to return the digits of this number within an array in reverse order.

Example:
348597 => [7,9,5,8,4,3]
def digitize(n)
  #your code here
end

Test.assert_equals(digitize(35231),[1,3,2,5,3])

題目(Highest and Lowest)

In this little assignment you are given a string of space separated numbers, and have to return the highest and lowest number.

Example:

high_and_low("1 2 3 4 5")  # return "5 1"
high_and_low("1 2 -3 4 5") # return "5 -3"
high_and_low("1 9 3 4 -5") # return "9 -5"
Notes:

All numbers are valid Int32, no need to validate them.
There will always be at least one number in the input string.
Output string must be two numbers separated by a single space, and highest number is first.
def high_and_low(numbers)
  #your code here
end

Test.assert_equals(high_and_low("4 5 29 54 4 0 -214 542 -64 1 -3 6 -6"), "542 -214")

影片解題:


答案:

# Convert number to reversed array of digits
def digitize(n)
  n.to_s.chars.map{|x| x.to_i}.reverse
end


# Highest and Lowest
def high_and_low(numbers)
  max = numbers.split.map{|x| x.to_i}.max
  min = numbers.split.map{|x| x.to_i}.min
  "#{max} #{min}"
end

本文同步發布於 小菜的 Blog https://riverye.com/


上一篇
Day21 - Codewars 刷題
下一篇
Day23 - Codewars 刷題
系列文
自我挑戰 Ruby 刷題 30 天31

尚未有邦友留言

立即登入留言