每个输入包含一个测试用例。
每个测试用例的第一行包含一个正整数,表示转方向的次数N(N<=1000)。
接下来的一行包含一个长度为N的字符串,由L和R组成,L表示向左转,R表示向右转。
输出牛牛最后面向的方向,N表示北,S表示南,E表示东,W表示西。
3 LRR
E
//出门面朝北,let directionArr = ["N","E","S","W"] //遍历turn, turn[i]='R' =>cnt++ //return directionArr[cnt取模] const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }) let inArr = [] rl.on('line',line=>{ if(!line) return inArr.push(line.trim()) if(inArr.length == 2){ let directionArr = ["N","E","S","W"], turn = inArr[1], cnt = 0 for (let i = 0; i < turn.length; i++) { turn[i]=='R'? cnt++ :cnt-- } // 负数取模:先化为正数取模再取反N-0 E-1 S-2 W-3 cnt = (cnt%4+4)%4; console.log(directionArr[cnt%4]) } })
function fun(N,STR) { var str = STR.split(''); var L = 0; var R = 0; for (i = 0; i < N; i++) { if (str[i] == 'L') { L += 1; } else { R += 1; } } switch ((L - R) % 4) { case 0: console.log('N') break; case -1: console.log('E') break; case -2: console.log('S') break; case -3: console.log('W') break; case 1: console.log('W') break; case 2: console.log('S') break; case 3: console.log('E') break; } } fun(3,'LRR');