Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- process.stdin.resume();
- process.stdin.setEncoding("ascii");
- var input = "";
- process.stdin.on("data", function (chunk) {
- input += chunk;
- });
- process.stdin.on("end", function () {
- // now we can read/parse input
- const lines = input.split(/\n/);
- let result = {};
- const STypeMatch = "ADVANCED_TRIP";
- for (let i = 0; i < lines.length; i += 1){
- let SCrewId = '';
- let SType = '';
- let SBidGroup = '';
- let indexSCI = 0;
- let indexST = 13;
- let indexSBG = 0;
- const myRegex = /[0-9]+\s+[A-Z|_]+\s+[A-Z|_]+\s+[0-9]+\s+[0-9]+\s+[0-9]+\s+[0-9]+\s*[A-Z|0-9|_]*/g;
- if (lines[i].length < 1) continue;
- // Getting the SType
- while (true) {
- if (lines[i][indexST].match(/[A-Z|_]+/g) === null)
- break;
- SType += lines[i][indexST];
- indexST += 1;
- }
- indexSBG = indexST;
- // Getting the SCrewId
- while (true) {
- if (lines[i][indexSCI].match(/[0-9]+/g) === null)
- break;
- SCrewId += lines[i][indexSCI];
- indexSCI += 1;
- }
- // Getting the SBidGroup
- while (true) {
- indexSBG += 1;
- if (lines[i][indexSBG].match(/[0-9]+/g) === null)
- break;
- SBidGroup += lines[i][indexSBG];
- }
- if (Object.keys(result).indexOf(SCrewId + SBidGroup) === -1){
- result[SCrewId + SBidGroup] = {
- "SCrewId": SCrewId,
- "SBidGroup": SBidGroup,
- "SType": SType
- };
- }
- else if (STypeMatch === SType) {
- result[SCrewId + SBidGroup] = {
- "SCrewId": SCrewId,
- "SBidGroup": SBidGroup,
- "SType": SType
- };
- }
- }
- for (const SID_SBG in result) {
- console.log(`${result[SID_SBG].SCrewId} "${result[SID_SBG].SType === STypeMatch ? "YES" : "NO"}"`)
- }
- });
- -----------------------------------------------------------------------------------------------------------------
- 101500 BIDGROUP 1 0 0 4
- 101500 AWARD UNTOUCHABLE 1 1 0 1
- 101500 AWARD TRIP_ID 1 2 0 0 7409
- 101500 AWARD TRIP_ID 1 3 0 0 7906
- 101500 AWARD TRIP_ID 1 4 0 0 6527
- 101501 BIDGROUP 1 0 0 4
- 101501 AWARD ADVANCED_TRIP 1 1 0 1
- 101501 AWARD TRIP_ID 1 2 0 0 7409
- 101501 AWARD TRIP_ID 1 3 0 0 7906
- 101501 AWARD TRIP_ID 1 4 0 0 6527
- 101502 BIDGROUP 1 0 0 4
- 101502 AWARD TRIP_ID 1 1 0 1
- 101502 AWARD TRIP_ID 1 2 0 0 7409
- 101502 AWARD TRIP_ID 1 3 0 0 7906
- 101502 AWARD TRIP_ID 1 4 0 0 6527
- 232603 BIDGROUP 2 0 0 5
- 232603 AWARD UNTOUCHABLE 2 1 0 1
- 232603 AVOID LAYOVER 2 2 0 0 7409
- 232603 AWARD LAYOVER 2 3 0 0 7906
- 232603 AWARD LAYOVER 2 4 0 0 6527
- 232603 AWARD ADVANCED_TRIP 2 5 0 0 6527
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement