題目連結:
題目意譯:
你被給定 coordinates,其為代表著棋盤上某一個方格之座標的一個字串。下圖為一個棋盤可作為參考。
如果該方格是白色的,回傳真(True);反之如果方格是黑色的則回傳假(False)。
座標保證會代表著一個合法的棋盤之方格。座標永遠會以字母開頭、數字在後。
限制:
coordinates.length == 2
'a' ≦ coordinates[0] ≦ 'h'
'1' ≦ coordinates[1] ≦ '8'
範例測資:
範例 1:
輸入: coordinates = "a1"
輸出: false
解釋: 從上圖的棋盤可以看到,座標為 "a1" 的方格是黑色的,所以回傳假。
範例 2:
輸入: coordinates = "h3"
輸出: true
解釋: 從上圖的棋盤可以看到,座標為 "h3" 的方格是排色的,所以回傳假。
範例 3:
輸入: coordinates = "c7"
輸出: false
解題思維:
假設 coordinates 第一個字元與 'a' 這個字元的距離為 X(例如 'e' 、 'c' 與 'a' 的距離分別是 4 和 2),而 coordinates 第二個字元與 '1' 的差值為 Y。
則觀察棋盤可以得到以下結論:
X + Y 為偶數,則 coordinates 代表的格子是黑色的;
反之 X + Y 為奇數,則 coordinates 代表的格子是白色的。
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。