题解 | #扑克牌大小#
扑克牌大小
https://www.nowcoder.com/practice/d290db02bacc4c40965ac31d16b1c3eb
这道题初看很复杂 但仔细思考之后 因为输入的牌型都是标准牌型 相较于斗地主之类的游戏已经简化了很多,归纳总结下来只需要考虑牌的数量相等和不相等两种情况即可 完整代码如下:
while (line = readline()) {
let arr = line.split('-').map(x => x.split(' '));
let baseArr = '3 4 5 6 7 8 9 10 J Q K A 2 joker JOKER'.split(' ');
let len1 = arr[0].length;
let len2 = arr[1].length;
//相等的情况最简单,只需要考虑两手牌最小的牌在baseArr中的index即可,哪个index大,相对应的哪手牌就大;
if (len1 == len2) {
baseArr.indexOf(arr[0][0]) > baseArr.indexOf(arr[1][0])
? console.log(arr[0].join(' '))
: console.log(arr[1].join(' '))
}
//两手牌的数量不相等时先考虑两手牌中有没有王炸,再考虑有没有普通炸弹,剩下的情况输出"ERROR"即可;
else if (len1 != len2) {
line.includes('joker JOKER')
? console.log('joker JOKER')
: len1 == 4 ? console.log(arr[0].join(' '))
: len2 == 4 ? console.log(arr[1].join(' '))
: console.log('ERROR');
}
}
