iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 11
0
Software Development

用JS來刷刷HackerRank系列 第 11

(12)HackerRank-Day 6: Bitwise Operators、JavaScript Dates(javaScript Answer)

  • 分享至 

  • xImage
  •  

題目
Day 6: Bitwise Operators
舉例輸入

3
5 2
8 5
2 2

舉例輸出

1
4
0

解析
題目名按位運算符
這題就稍微有點專業難度
主要題旨是找出

x=1~n,y=x+1~n
x&y<k

所以雙層迴圈是必須的
接下來搞懂&計算就沒啥問題了

&計算之前有說過,我直接貼過來(其實也不過上一篇)

2=>0010
1=>0001
&就是上下相同輸出1,不同輸出0
上面這題出現為0 因此執行三元運算子後半部*2

3=>0011
1=>0001
&就是上下相同輸出1,不同輸出0
上面這題出現為1 因此執行三元運算子前半部*3

function getMaxLessThanK(n, k) {
    let largest = 0;
    for (let a = 1; a <= n; a++) {
        for (let b = a + 1; b <= n; b++) {
            let ab = a & b;

            if (ab > largest && ab < k) {
                largest = ab
            }
        }
    }

    return largest;
}
 

題目
Day 6: JavaScript Dates
舉例輸入

2
10/11/2009
11/10/2010

舉例輸出

Sunday
Wednesday

解析
就...很單純的輸出參數那天是禮拜幾
那我們就簡單依照題目需求字串格式創個陣列
要注意禮拜天是0接著往下

function getDayName(dateString) {
    let dayName = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
   
    return dayName[(new Date(dateString)).getDay()];
}
 

上一篇
(11)HackerRank- Day 8: Create a Button、 Buttons Container(javaScript Answer)
下一篇
(13)HackerRank-Day 7: Regular Expressions I、Regular Expressions II(javaScript Answer)
系列文
用JS來刷刷HackerRank29
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言