面試題目記錄(1)

更新於 2020/07/01閱讀時間約 2 分鐘
題目要求

題目敘述

撲克牌有4種花色,分別是黑桃、紅心、方塊跟梅花
其中每一中花色都有一個數字,範圍從1~13,總共13*4 = 52張牌
1) 請從52張牌中挑選13張牌,輸出第一列所示,牌跟牌之間用tab隔開。
2) 請將抽出的13張牌依數字由大至小排序,同樣數字下比花色,花色大小為
黑桃>紅心>方塊>梅花。
注意! 排序時不能使用內建的sort()

當下想到的解法

解題思路: 以python撰寫為例

  • 將花色以list存放,黑桃(0)、紅心(1)、方塊(2)、梅花(3)各自有對應的index。
  • 抽出來的牌以tuple表示,用dictionary存放這13張牌,想法上以hash map 為出發點。
例如抽出來的第2張牌是紅心8 -> { 2 : (1, 8) }

實作

隨機從數字0~3挑選花色,從1~13挑選數字,將數對存到tuple中作為value,第幾次選取作為key。因此在迴圈執行後,pickedCard裡面存放著這13次抽出來的牌,用迴圈依次輸出。
其中pickedCard取出的花色是以數字呈現,作為color的index得到實際的花色字串,在輸出時與轉換過的數字字串做串接,印出結果。
第2個部分要的是排序結果,但我並沒有使用排序,而是讓迴圈從數字13~1、花色從0~3依序檢查是否為被挑出來的牌,如果是就輸出。
簡單來說我使用的是檢查所有請況,從最大到最小,有符合要件就輸出。

感想

先前其實沒對撲克牌的題目做過練習,不過曾經在網路上看過JAVA寫的一些撲克牌程式的處理,因此至少會考慮把花色跟數字分開做處理。看到題目說明不能使用內建排序方法,原本想說自己寫一個function來用就好,不過頂多也就52張牌,於是就採取比較tricky的方式達到題目的要求。
考試當下是筆試不是上機,語法上也沒有那麼確定,不過事後寫出來還是有寫對9成的語法,也同時發現了沒注意到的bug,就是當我挑選的那13張牌有重複時,依序輸出就不會是13張牌,而是少於13張牌,然而實際上也不應該有重複的牌出現,算是沒注意到的大問題。

即將進入廣告,捲動後可繼續閱讀
為什麼會看到廣告
avatar-img
13會員
64內容數
遇到的坑、解過的題、新知識的探索、舊時代的遺毒!? 工作後我發現,文件更新往往跟不上新需求的更迭,犯錯的歷史總是不斷重演。因此,我改變了方式,蒐集從程式上、系統上的每一次異常處理過程,好讓再次遇到相同的問題時能快速應變。此專題就是我的錯題本,期待日後不管在工作上或交流上遇到難題,都能輕鬆地應答:有什麼難的,我都踩過。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Err500 的其他內容
在youtube上找尋前端的小專案來練習,就發現了這個不是很難,又可以讓我練習怎麼把javascript用在網頁裡的專案,於是就跟者影片做了一遍。當然,比起前一個寫遊戲的影片來說,可以說是輕鬆很多。
回顧一路下來的成長過程,是回憶、是學習、是見聞、是醞釀;其中有歡樂、有悲傷、有火花、有感慨。 記得在國小的第一次段考,只有國文、數學兩項科目的考試上,在班級內出現了同學A、同學B兩位滿分。 問題來了:誰是第一名?
常見入門款Python、統計分析用R、轉職培訓JAVA、C#、IOS用Swift、前端萬用JavaScript、學校基礎C語言、進階C++、甚至是新潮的語言go,程式語言那麼多種到底該從哪個入門好?難道從Scratch開始?
Youtube上逛著逛著看到techwithtim的線上教學,這是一個pygame的模組練習,只\是我想了解深一點的是物件導向的寫法應用。影片大約兩小時,實際邊動手coding,一邊看著影片的講解,結果花在這上面的時間遠遠超過我的預期。
常常會在其他教學影片中看到if __name__ == "__main__"  的寫法,為什麼要這樣做呢?
安裝下載 在瀏覽器搜尋列上輸入python,找到官方網站後進入下方畫面。 Python 官方網站頁面 在Downloads下拉列表中,可以尋找使用者自己電腦對應的作業系統選項,而基本上旁邊會提供最新版本的選取方框,點擊並下載。
在youtube上找尋前端的小專案來練習,就發現了這個不是很難,又可以讓我練習怎麼把javascript用在網頁裡的專案,於是就跟者影片做了一遍。當然,比起前一個寫遊戲的影片來說,可以說是輕鬆很多。
回顧一路下來的成長過程,是回憶、是學習、是見聞、是醞釀;其中有歡樂、有悲傷、有火花、有感慨。 記得在國小的第一次段考,只有國文、數學兩項科目的考試上,在班級內出現了同學A、同學B兩位滿分。 問題來了:誰是第一名?
常見入門款Python、統計分析用R、轉職培訓JAVA、C#、IOS用Swift、前端萬用JavaScript、學校基礎C語言、進階C++、甚至是新潮的語言go,程式語言那麼多種到底該從哪個入門好?難道從Scratch開始?
Youtube上逛著逛著看到techwithtim的線上教學,這是一個pygame的模組練習,只\是我想了解深一點的是物件導向的寫法應用。影片大約兩小時,實際邊動手coding,一邊看著影片的講解,結果花在這上面的時間遠遠超過我的預期。
常常會在其他教學影片中看到if __name__ == "__main__"  的寫法,為什麼要這樣做呢?
安裝下載 在瀏覽器搜尋列上輸入python,找到官方網站後進入下方畫面。 Python 官方網站頁面 在Downloads下拉列表中,可以尋找使用者自己電腦對應的作業系統選項,而基本上旁邊會提供最新版本的選取方框,點擊並下載。
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
在面試中提出明智的問題能夠展現出你對工作的興趣與對公司的期待,而且透過用人主管或是 HR 的回答可以讓你得知公司對這個職位的重視程度,以及是否適合在這家公司長期發展。
Thumbnail
繼上一篇文章記錄我成為交換生的動機與期待,政大商院交換的時程、如何準備書審,接下來,來到面試環節啦! 如果這篇文章對閱讀的你有幫助,請給我愛心,也可以留言給我! 對我來說會是繼續書寫文章的一大動力!謝謝閱讀的你們 面試如何準備、當天被問到什麼題目、面試後的感想……,我將在這篇文章裡逐一向你們說明
Thumbnail
一家跨國公司在一個徵人活動中問了一個策略性的題目,回答最好的人將可獲得分公司負責人的職位。 題目是這樣的 : 你有一個敵人會威脅到你的生活,現在給你三個願望可以實現,但是同時會雙倍的實現在敵人身上,你會如何許願來解除敵人對你的威脅? 第一個面試者回答 : 「第一個願望,我會希
Thumbnail
題目會給我們一顆二元樹的根節點, 要求我們對齊根節點正中央的虛擬分割線,反轉整顆二元樹。
Thumbnail
題目會給定一顆二元樹的根結點,要求我們驗證這一顆樹是否為合法的二元搜索樹, 也就是所謂的Binary search tree, aka BST?
Thumbnail
Problem-Based Learning(PBL) 原則就是一定要發言,有個黃金關鍵句:「我基本上同意XXX對於OOO的看法,不過我這邊有意點補充 (or 我這邊有另外一個角度)…」
Thumbnail
你為什麼要來XX面試 (要說出這家醫學院的特色。) 這其實是各科面試很重要的問題,對醫學系面試也非常重要。因為所有醫學院都害怕自己錄取的學生不來,要輪到替補;這是面子問題,對大老就是大問題。 要說(ㄑ一)服(ㄆ一ㄢˋ)面試教授你會來這家醫學院最好的辦法就是說出....
Thumbnail
你有什麼特質適合當醫生? 經典問題,如果沒問,則自己要在自我介紹中提到。
Thumbnail
為什麼想念醫學系? 經典問題,說真的老師也未必認真想聽,但答得好可以有印象加分。
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
在面試中提出明智的問題能夠展現出你對工作的興趣與對公司的期待,而且透過用人主管或是 HR 的回答可以讓你得知公司對這個職位的重視程度,以及是否適合在這家公司長期發展。
Thumbnail
繼上一篇文章記錄我成為交換生的動機與期待,政大商院交換的時程、如何準備書審,接下來,來到面試環節啦! 如果這篇文章對閱讀的你有幫助,請給我愛心,也可以留言給我! 對我來說會是繼續書寫文章的一大動力!謝謝閱讀的你們 面試如何準備、當天被問到什麼題目、面試後的感想……,我將在這篇文章裡逐一向你們說明
Thumbnail
一家跨國公司在一個徵人活動中問了一個策略性的題目,回答最好的人將可獲得分公司負責人的職位。 題目是這樣的 : 你有一個敵人會威脅到你的生活,現在給你三個願望可以實現,但是同時會雙倍的實現在敵人身上,你會如何許願來解除敵人對你的威脅? 第一個面試者回答 : 「第一個願望,我會希
Thumbnail
題目會給我們一顆二元樹的根節點, 要求我們對齊根節點正中央的虛擬分割線,反轉整顆二元樹。
Thumbnail
題目會給定一顆二元樹的根結點,要求我們驗證這一顆樹是否為合法的二元搜索樹, 也就是所謂的Binary search tree, aka BST?
Thumbnail
Problem-Based Learning(PBL) 原則就是一定要發言,有個黃金關鍵句:「我基本上同意XXX對於OOO的看法,不過我這邊有意點補充 (or 我這邊有另外一個角度)…」
Thumbnail
你為什麼要來XX面試 (要說出這家醫學院的特色。) 這其實是各科面試很重要的問題,對醫學系面試也非常重要。因為所有醫學院都害怕自己錄取的學生不來,要輪到替補;這是面子問題,對大老就是大問題。 要說(ㄑ一)服(ㄆ一ㄢˋ)面試教授你會來這家醫學院最好的辦法就是說出....
Thumbnail
你有什麼特質適合當醫生? 經典問題,如果沒問,則自己要在自我介紹中提到。
Thumbnail
為什麼想念醫學系? 經典問題,說真的老師也未必認真想聽,但答得好可以有印象加分。