题解 | #扑克牌大小#
扑克牌大小
https://www.nowcoder.com/practice/d290db02bacc4c40965ac31d16b1c3eb
const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
void async function () {
//3 4 5 6 7 8 9 10 J Q K A 2 joker JOKER
//每手牌可能是个子、对子、顺子(连续5张)、三个、炸弹(四个)和对王中的一种
//除了炸弹和对王可以和所有牌比较之外,其他类型的牌只能跟相同类型的存在比较关系
const [first,second] = (await readline()).split("-").map(item=>item.split(" "));
const order = ['3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K', 'A', '2', 'joker', 'JOKER'];
const isBomb = (list) => {
if(list.length !=2 && list.length !=4) return false;
if(list.length == 2) return (list.join(" ") === "joker JOKER"||list.join(" ") === "JOKER joker")?"JOKER":false;
if(list.length == 4 && (new Set(list)).size == 1) return list[0];
}
if(isBomb(first) && !isBomb(second)){
console.log(first.join(" "));
}else if(!isBomb(first) && isBomb(second)){
console.log(second.join(" "));
}else if(isBomb(first) && isBomb(second)){
console.log(order.indexOf(first[0])>order.indexOf(second[0])?first.join(" "):second.join(" "));
}else if(first.length != second.length){
console.log("ERROR")
}else {
console.log(order.indexOf(first[0])>order.indexOf(second[0])?first.join(" "):second.join(" "));
}
}()
华为OD,我昵称“od400” 文章被收录于专栏
华为OD机试刷题历程,因涉及华为权益,牛客不允许更新了。我昵称“od400”,某博客继续更新。