GoogleFoobar
1.0.0
我個人對 Google Foobar 挑戰的看法。
簡單的問題。
解決方法是在字串上產生並儲存每個素數,一旦我們在字串上儲存了n+5
數字,就傳回子字串( n
到n+5
),因為這就是我們要找的數字。
algorithm prime_seq_substring is
input: Index N of first digit on the substring
output: String of 5 digits of prime numbers
for each prime in range[2..30000] do
concat prime to prime_seq
if length of prime_seq >= N+5 do
break
return prime_seq[N..N+5]
另一個簡單的問題,我用最少的行數解決了這個問題,並獲得了很多樂趣。因為...為什麼不呢?
透過 char <
分割字串並計算 char >
在列表的每個元素上出現的次數來解決。然後,建立一個包含列表索引的列表,但按降序排列,因為這是列表每個部分中的每個員工面對另一個方向行走的員工的次數。
解決方案的最後一步是將清單中的每個元素與其索引清單中對應的元素相乘(這給出了每個員工的相遇次數)並將該數字乘以二,因為每次相遇都會產生兩次致敬。
我們傳回所有這些數字的總和(所有員工的敬禮總數)。
algorithms salutes_solution is
input: String S representing the employees
output: Number of salutes performed by the employees
for each section in (S split by '<') do
concat (number of '>' in section) to sec_list
index_list := (length of sec_list)..0
for I in range[0..(length of sec_list)] do
concat ( (elem I of sec_list) * (elem I of index_list) * 2) to salutes_list
return sum of elements in salutes_list