Kotlin Heroes contest 練習

更新於 發佈於 閱讀時間約 3 分鐘
Join Kotlin Heroes!

Join Kotlin Heroes!

這幾天參加了 Kotlin Hero 程式競賽前的練習,有個特別的體驗。

看題目一邊理解題意時,一邊就會在心理想像出程式流程的設計長得怎麼樣,比如輸入數值的型態為何?需不需要字串拆解?用什麼迴圈或遞迴編碼結構?一邊實作出來。或是歸納題意後,用數學運算公式整理簡化,比如真值表簡化換算,或是套用等差級數和公式等,再依簡化後的目標實作出來。前者依程式邏輯直覺,快速實作,後者需演繹歸納,但有優化。後者比較正確,但有時因為維護成本、時間不夠,前者的方式是很常見的。

回到練習,其中有個題目,我一眼掃過去,題意給我第一眼的感覺應該有個隱約的算數方式可以套用,也驗算了算數沒有問題,我就依照想法實作出來,上傳結果驗證通過。驗證結果會附上用了多少時間執行驗證,還有用了多少記憶體。這樣就可以得知你要運行你的程式要耗用多少資源。

這時就會好奇,那其他人的解法會是什麼?怎麼他耗用的資源可以比較少?此競賽練習期間可以點選其他人的解法,看他人怎麼寫。這樣反倒是幫助你可以深化對這題目的了解,和其他解的可能性探索。

偷看他人的解法發現,我的解這題的方式並不是比較直覺的解法。比較直覺解法是需要用到排序來找出資料間的關係,而我因為沒有想到排序前,就有了一個比較不直覺的算式,而且是正確的算式。導致我用數學運算,解了排序要解的問題。所以我的解法不用排序。而以算數代替排序的結果是我的解法耗用比較少的記憶體。我的解法雖不直覺,但低消耗資源。

看別人的解法還有一個有趣的地方就是可以看到不同風格的編碼寫法。會有 "喔,有這種簡潔的寫法","喔,原來還有這麼棒的內建函式可以這樣用" 的驚嘆。這對新語言的掌握可以更有幫助。整個解題過程,可以讓你更加去掌握新語言的運用細節。

另外的觀察,這樣的程式競賽系統和一般線上解題系統其實都是一種 TDD 的一種實現,只是單元測試撰寫者(出題人)和產品程式撰寫者(解題人)不同人而已。

Kotlin Heroes: Episode 3 正如火如荼的在 2/27 晚上 9:35 正式開始。趕快來參與吧https://www.jetbrains.com/promo/kotlin-heroes/

留言
avatar-img
留言分享你的想法!
avatar-img
吳欣展的沙龍
1會員
1內容數
和 Kotlin 相關的文章
你可能也想看
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
遭受學習挫折的一周,開始發現社群的重要性,最終還是回歸於自己報名體驗營的目的。
Thumbnail
遭受學習挫折的一周,開始發現社群的重要性,最終還是回歸於自己報名體驗營的目的。
Thumbnail
《程式》被視為一種補習學科,但筆者提供不同的觀點。補習通常為了更好的成績,也追求標準答案,往往限制孩子對學習的想像。然而,《程式魔法》不僅沒有標準答案,還能提升自學能力、建立不怕挫折的心理素質,是極佳的才藝課。尤其,真實世界沒有標準答案,如何讓孩子擁有自信,迎向人工智慧時代呢?讓孩子來體驗看看吧!
Thumbnail
《程式》被視為一種補習學科,但筆者提供不同的觀點。補習通常為了更好的成績,也追求標準答案,往往限制孩子對學習的想像。然而,《程式魔法》不僅沒有標準答案,還能提升自學能力、建立不怕挫折的心理素質,是極佳的才藝課。尤其,真實世界沒有標準答案,如何讓孩子擁有自信,迎向人工智慧時代呢?讓孩子來體驗看看吧!
Thumbnail
介紹 通常我們程式寫完之後,要確保程式沒問題我們就會進行測試 在這裡我們將測試分兩大類: 單元測試(Unit Test,UT):對程式碼的最小單位所進行的測試 整合測試(Integration Test):系統/模組之間的測試,通常會接觸到真實系統 在這裡只會簡單介紹一下單元測試的概念 這裡在將單元
Thumbnail
介紹 通常我們程式寫完之後,要確保程式沒問題我們就會進行測試 在這裡我們將測試分兩大類: 單元測試(Unit Test,UT):對程式碼的最小單位所進行的測試 整合測試(Integration Test):系統/模組之間的測試,通常會接觸到真實系統 在這裡只會簡單介紹一下單元測試的概念 這裡在將單元
Thumbnail
按照慣例,將時間做點隨意的排列組合 拼拼湊湊而成的數字,就權充當下的時空切片吧。 關於書寫,你都會如何開始呢?
Thumbnail
按照慣例,將時間做點隨意的排列組合 拼拼湊湊而成的數字,就權充當下的時空切片吧。 關於書寫,你都會如何開始呢?
Thumbnail
因應科技的快速成長 台灣孩子教育也在改革 電腦科技的程式課就有點像20年前的台灣英文教育剛開始一樣 英文能力變成企業的門檻標準 直到現在英文還是一樣重要 身為父母我們不一定能夠熟悉孩子的學業科目 但此時2022我們身處在資訊便利的時代 我們獲取相關學習內容不用特別的到圖書館或認識專家
Thumbnail
因應科技的快速成長 台灣孩子教育也在改革 電腦科技的程式課就有點像20年前的台灣英文教育剛開始一樣 英文能力變成企業的門檻標準 直到現在英文還是一樣重要 身為父母我們不一定能夠熟悉孩子的學業科目 但此時2022我們身處在資訊便利的時代 我們獲取相關學習內容不用特別的到圖書館或認識專家
Thumbnail
很多公司面試確實會去考這些題目,並不是為了知道你是否會解題,更多的是想知道你怎麼思考。在工作中,當我們遇到各種不同類型的問題時,是否能夠根據自身的知識、經驗去探索出最佳的解決方案,大多是面試工程師所看重的一環。
Thumbnail
很多公司面試確實會去考這些題目,並不是為了知道你是否會解題,更多的是想知道你怎麼思考。在工作中,當我們遇到各種不同類型的問題時,是否能夠根據自身的知識、經驗去探索出最佳的解決方案,大多是面試工程師所看重的一環。
Thumbnail
活動記錄: 「數學獵人」在台中市立圖書館葫蘆墩分館開課,今天(10/03)是第一場。報名人數超乎預期。本來以為這種無法玩桌遊的閱讀課,又要數學動動腦,小孩子應該沒有興趣。但,報名了15位,真是令我感動啊! 單看課程名稱就知道:閱讀,數學,邏輯,要閱讀:閱讀「數學獵人」這本書。又有數學題目!還要邏
Thumbnail
活動記錄: 「數學獵人」在台中市立圖書館葫蘆墩分館開課,今天(10/03)是第一場。報名人數超乎預期。本來以為這種無法玩桌遊的閱讀課,又要數學動動腦,小孩子應該沒有興趣。但,報名了15位,真是令我感動啊! 單看課程名稱就知道:閱讀,數學,邏輯,要閱讀:閱讀「數學獵人」這本書。又有數學題目!還要邏
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News