|
@@ -893,87 +893,56 @@ function splitCharacters(line) {
|
|
}
|
|
}
|
|
|
|
|
|
const map = dataSet.map(splitCharacters);
|
|
const map = dataSet.map(splitCharacters);
|
|
-
|
|
|
|
let answerArray = []
|
|
let answerArray = []
|
|
|
|
|
|
map.forEach(element => {
|
|
map.forEach(element => {
|
|
-
|
|
|
|
-let row = Array.from({ length: 128 }, (x, i) => i);
|
|
|
|
-let column = Array.from({ length: 8 }, (x, i) => i);
|
|
|
|
-let val
|
|
|
|
- // item 1
|
|
|
|
- if (element[0] === 'F') {
|
|
|
|
- val = row.length / 2
|
|
|
|
- row = row.slice(0, val)
|
|
|
|
- } else {
|
|
|
|
- val = row.length / 2
|
|
|
|
- row = row.slice(val, row.length)
|
|
|
|
- }
|
|
|
|
- // item 2
|
|
|
|
- if (element[1] === 'F') {
|
|
|
|
- val = row.length / 2
|
|
|
|
- row = row.slice(0, val)
|
|
|
|
- } else {
|
|
|
|
- val = row.length / 2
|
|
|
|
- row = row.slice(val, row.length)
|
|
|
|
- }
|
|
|
|
- if (element[2] === 'F') {
|
|
|
|
- val = row.length / 2
|
|
|
|
- row = row.slice(0, val)
|
|
|
|
- } else {
|
|
|
|
- val = row.length / 2
|
|
|
|
- row = row.slice(val, row.length)
|
|
|
|
- }
|
|
|
|
- if (element[3] === 'F') {
|
|
|
|
- val = row.length / 2
|
|
|
|
- row = row.slice(0, val)
|
|
|
|
- } else {
|
|
|
|
- val = row.length / 2
|
|
|
|
- row = row.slice(val, row.length)
|
|
|
|
- }
|
|
|
|
- if (element[4] === 'F') {
|
|
|
|
- val = row.length / 2
|
|
|
|
- row = row.slice(0, val)
|
|
|
|
- } else {
|
|
|
|
- val = row.length / 2
|
|
|
|
- row = row.slice(val, row.length)
|
|
|
|
- }
|
|
|
|
- if (element[5] === 'F') {
|
|
|
|
- val = row.length / 2
|
|
|
|
- row = row.slice(0, val)
|
|
|
|
- } else {
|
|
|
|
- val = row.length / 2
|
|
|
|
- row = row.slice(val, row.length)
|
|
|
|
- }
|
|
|
|
- if (element[6] === 'F') {
|
|
|
|
- val = row.length / 2
|
|
|
|
- row = row.slice(0, val)
|
|
|
|
- } else {
|
|
|
|
- val = row.length / 2
|
|
|
|
- row = row.slice(val, row.length)
|
|
|
|
- }
|
|
|
|
- if (element[7] === 'L') {
|
|
|
|
- val = column.length / 2
|
|
|
|
- column = column.slice(0, val)
|
|
|
|
- } else {
|
|
|
|
- val = column.length / 2
|
|
|
|
- column = column.slice(val, column.length)
|
|
|
|
- }
|
|
|
|
- if (element[8] === 'L') {
|
|
|
|
- val = column.length / 2
|
|
|
|
- column = column.slice(0, val)
|
|
|
|
- } else {
|
|
|
|
- val = column.length / 2
|
|
|
|
- column = column.slice(val, column.length)
|
|
|
|
|
|
+ function workOutRow(input) {
|
|
|
|
+ if (input === 'F') {
|
|
|
|
+ val = row.length / 2
|
|
|
|
+ row = row.slice(0, val)
|
|
|
|
+ } else {
|
|
|
|
+ val = row.length / 2
|
|
|
|
+ row = row.slice(val, row.length)
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- if (element[9] === 'L') {
|
|
|
|
- val = column.length / 2
|
|
|
|
- column = column.slice(0, val)
|
|
|
|
- } else {
|
|
|
|
- val = column.length / 2
|
|
|
|
- column = column.slice(val, column.length)
|
|
|
|
|
|
+
|
|
|
|
+ function workOutColumn(input) {
|
|
|
|
+ if (input === 'L') {
|
|
|
|
+ val = column.length / 2
|
|
|
|
+ column = column.slice(0, val)
|
|
|
|
+ } else {
|
|
|
|
+ val = column.length / 2
|
|
|
|
+ column = column.slice(val, column.length)
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ let row = Array.from({ length: 128 }, (x, i) => i);
|
|
|
|
+ let column = Array.from({ length: 8 }, (x, i) => i);
|
|
|
|
+ let val
|
|
|
|
+
|
|
|
|
+ workOutRow(element[0])
|
|
|
|
+ workOutRow(element[1])
|
|
|
|
+ workOutRow(element[2])
|
|
|
|
+ workOutRow(element[3])
|
|
|
|
+ workOutRow(element[4])
|
|
|
|
+ workOutRow(element[5])
|
|
|
|
+ workOutRow(element[6])
|
|
|
|
+ workOutColumn(element[7])
|
|
|
|
+ workOutColumn(element[8])
|
|
|
|
+ workOutColumn(element[9])
|
|
let answer = row[0] * 8 + column[0]
|
|
let answer = row[0] * 8 + column[0]
|
|
answerArray.push(answer)
|
|
answerArray.push(answer)
|
|
})
|
|
})
|
|
-console.log(Math.max(...answerArray));
|
|
|
|
|
|
+console.log('Biggest ID= ' + Math.max(...answerArray));
|
|
|
|
+
|
|
|
|
+let k = answerArray.sort((a, b) => a - b)
|
|
|
|
+
|
|
|
|
+// Part 2
|
|
|
|
+const lodash = require('lodash')
|
|
|
|
+
|
|
|
|
+lodash.forEach(lodash.range(lodash.min(k), lodash.max(k)), (number, index) => {
|
|
|
|
+ if (lodash.findIndex(k, val => val == number) == -1) {
|
|
|
|
+ let answer = k[index] - 1
|
|
|
|
+ console.log('My Seat= ' + answer)
|
|
|
|
+ }
|
|
|
|
+})
|