標準入力は以下を使用
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
// const cols = stream.split(' ')
// const lines = stream.split('\n')
// const matrix = stream.split('\n').map(line => line.split(' '))
- Array.prototype.length
const stream = '5 1 3 4 5 12 6 8 1 3'
const cols = stream.split(' ')
console.log(cols.length)
- Array.prototype.join(SEP)
const stream = '5 1 3 4 5 12 6 8 1 3'
const cols = stream.split(' ')
console.log(cols.join('\n'))
- Array.prototype.at(INDEX)
- Array[INDEX]
const stream = '5 1 3 4 5 12 6 8 1 3'
const cols = stream.split(' ')
console.log(cols[4 - 1]) // cols.at(4 - 1)
- Array.prototype.join(SEP)
const stream = '8 1 3 3 8 1 1 3 8 8'
const cols = stream.split(' ')
console.log(cols.join('\n'))
- Array.prototype.join(SEP)
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const cols = stream.split(' ')
console.log(cols.join('\n'))
- Array.prototype.join(SEP)
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const [N, A] = stream.split('\n')
const AS = A.split(' ')
console.log(AS.join('\n'))
- Array.prototype.at(INDEX)
- Array[INDEX]
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const K = parseInt(stream)
const cols = '1 3 5 4 6 2 1 7 1 5'.split(' ')
console.log(cols[K - 1]) //cols.at(K - 1)
- Array.prototype.at(INDEX)
- Array[INDEX]
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const [K, A] = stream.split('\n')
const AS = A.split(' ')
console.log(AS[parseInt(K) - 1]) // AS.at(parseInt(K) - 1)
- Array.prototype.map(FUN)
- Array.prototype.at(INDEX)
- Array[INDEX]
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const [NK, A] = stream.split('\n')
const [N, K] = NK.map(v => v.split(' ').map(Number))
const AS = A.map(v => v.split(' ').map(Number))
console.log(AS[K - 1]) // AS.at(parseInt(K) - 1)
Matrixにして処理
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const [[N, K], AS] = stream.split('\n').map(line => line.split(' ').map(Number))
console.log(AS[K - 1])
- Array.length
- Array.prototype.map(FUN)
- Array.prototype.flat()
const stream = '1 2 3 4 5 6\n8 1 3 3 1 8'
const lines = stream.split('\n')
const matrix = lines.map(line => line.split(' '))
const result = matrix.flat()
console.log(result.length)
- Array.prototype.map(FUN)
- Array.prototype.join(SEP)
const stream = '6 5 4 3 2 1\n3 1 8 8 1 3'
const lines = stream.split('\n')
const matrix = lines.map(line => line.split(' '))
const result = matrix.map(v => v.join(' ')).join('\n')
console.log(result)
- Array.prototype.map(FUN)
- Array.length
const stream = '1 2 3\n4 5 6\n8 1 3'
const lines = stream.split('\n')
const matrix = lines.map(line => line.split(' '))
console.log(matrix.length)
- Array.prototype.map(FUN)
- Array.prototype.at(INDEX)
- Array[INDEX]
- Array.length
const stream = '1 2 3 4\n6 5 4 3\n3 1 8 1'
const lines = stream.split('\n')
const matrix = lines.map(line => line.split(' '))
const result = matrix[0].length // matrix.at(0).length
console.log(result)
- Array.prototype.map(FUN)
- Array.length
- Array.prototype.join(SEP)
const stream = '1\n2 3\n4 5 6'
const lines = stream.split('\n')
const matrix = lines.map(line => line.split(' '))
const result = matrix.map(cols => cols.length)
console.log(result.join('\n'))
- Array.prototype.map(FUN)
- Array.prototype.at(INDEX)
- Array[INDEX]
const stream = '1 2 3\n8 1 3\n10 100 1'
const lines = stream.split('\n')
const matrix = lines.map(line => line.split(' '))
const result = matrix[2 - 1][3 - 1] // matrix.at(2 - 1).at(3 - 1)
console.log(result)
- Array.prototype.map(FUN)
- Array.prototype.join(SEP)
const stream = '1 3 5 7\n8 1 3 8'
const matrix = stream.split('\n').map(line => line.split(' '))
const result = matrix.map(cols => cols.join(' ')).join('\n')
console.log(result)
- Array.prototype.map(FUN)
- Array.prototype.join(SEP)
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const [[M], ...matrix] = stream.split('\n').map(line => line.split(' '))
const result = matrix.map(cols => cols.join(' ')).join('\n')
console.log(result)
- Array.prototype.map(FUN)
- Array.prototype.join(SEP)
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const [[N], ...matrix] = stream.split('\n').map(line => line.split(' '))
const result = matrix.map(cols => cols.join(' ')).join('\n')
console.log(result)
- Array.prototype.map(FUN)
- Array.prototype.join(SEP)
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const [[N, M], ...matrix] = stream.split('\n').map(line => line.split(' '))
const result = matrix.map(cols => cols.join(' ')).join('\n')
console.log(result)
- Array.prototype.map(FUN)
- Array.prototype.at(INDEX)
- Array[ROW_INDEX][COL_INDEX]
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const [K, L] = stream.split(' ').map(Number)
const a = '1 2 3 4\n10 100 0 5\n8 1 3 8\n15 34 94 25'
const matrix = a.split('\n').map(line => line.split(' '))
const result = matrix[K - 1][L -1] // matrix.at(K - 1).at(L - 1)
console.log(result)
- Array.prototype.map(FUN)
- Array.prototype.at(INDEX)
- Array[ROW_INDEX][COL_INDEX]
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const [[K, L], ...matrix] = stream.split('\n').map(line => line.split(' ').map(Number))
const result = matrix[K - 1][L - 1] // matrix.at(K - 1).at(L - 1)
console.log(result)
- Array.prototype.map(FUN)
- Array.prototype.at(INDEX)
- Array[ROW_INDEX][COL_INDEX]
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const [[N, M, K, L], ...matrix] = stream.split('\n').map(line => line.split(' ').map(Number))
const result = matrix[K - 1][L - 1] // matrix.at(K - 1).at(L - 1)
console.log(result)
- Array.prototype.includes(TARGET)
const stream = '10 13 21 1 6 51 10 8 15 6'
const cols = stream.split(' ')
const result = cols.includes('6')
console.log(result ? 'Yes' : 'No')
- Array.prototype.map(FUN)
- Array.prototype.includes(TARGET)
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const N = parseInt(stream)
const cols = '5 12 6 84 14 25 44 3 7 20'.split(' ').map(Number)
const result = cols.includes(N)
console.log(result ? 'Yes' : 'No')
- Array.prototype.map(FUN)
- Array.prototype.includes(TARGET)
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const [[N, M], AS] = stream.split('\n').map(line => line.split(' ').map(Number))
const result = AS.includes(M)
console.log(result ? 'Yes' : 'No')
- Array.prototype.indexOf(TARGET)
const stream = '1 10 2 9 3 8 4 7 5 6'
const cols = stream.split(' ')
const result = cols.indexOf('8') + 1
console.log(result)
- Array.prototype.map(FUN)
- Array.prototype.indexOf(TARGET)
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const N = parseInt(stream)
const cols = '1 5 9 7 3 2 4 8 6 10'.split(' ').map(Number)
const result = cols.indexOf(N) + 1
console.log(result)
- Array.prototype.map(FUN)
- Array.prototype.indexOf(TARGET)
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const [[N, M], AS] = stream.split('\n').map(line => line.split(' ').map(Number))
const result = AS.indexOf(N) + 1
console.log(result)
- Array.prototype.filter(FUN)
- Array.length
const stream = '1 2 2 1 2 1 2 1 1 1'
const cols = stream.split(' ')
const result = cols.filter(v => v === '1').length
console.log(result)
// 別解
// const result = stream.split('1').length - 1
// const result = stream.match(/1/g).length
- Array.prototype.filter(FUN)
- Array.length
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const N = parseInt(stream)
const cols = '1 2 5 1 4 3 2 5 1 4'.split(' ').map(Number)
const result = cols.filter(v => v === N).length
console.log(result)
- Array.prototype.map(FUN)
- Array.prototype.filter(FUN)
- Array.length
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const [[N, M], A] = stream.split('\n').map(line => line.split(' ').map(Number))
const result = A.filter(v => v === N).length
console.log(result)
- Array.prototype.map(FUN)
- Array.prototype.join(SEP)
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const [[A, B, N], AS] = stream.split('\n').map(line => line.split(' '))
const result = AS.map(v => v === A ? B : v)
console.log(result.join('\n'))
- Array.prototype.reverse()
- Array.prototype.join(SEP)
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const [A, B] = stream.split(' ')
const result = [A, B].reverse()
console.log(result.join(' '))
- Array.prototype.map(FUN)
- Array.prototype.join(SEP)
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const [[A, B, N], AS] = stream.split('\n').map(line => line.split(' ').map(Number))
{
[AS[A - 1], AS[B - 1]] = [AS[B - 1], AS[A - 1]] // swap
}
console.log(AS.join('\n'))
- Array.prototype.map(FUN)
- Array.prototype.slice(BIGIN, END)
- Array.prototype.join(SEP)
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const [[A, B, N], AS] = stream.split('\n').map(line => line.split(' ').map(Number))
const result = AS.slice(A - 1, B)
console.log(result.join('\n'))
- Array.prototype.map(FUN)
- Array.prototype.concat()
- Array.prototype.join(SEP)
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const [[N, M], AS, BS] = stream.split('\n').map(line => line.split(' ').map(Number))
const result = [...AS, ...BS] // AS.concat(BS)
console.log(result.join('\n'))
- Array.prototype.map(FUN)
- Array.prototype.sort(FUN)
- Array.prototype.join(SEP)
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const [[N], AS] = stream.split('\n').map(line => line.split(' ').map(Number))
const result = [...AS].sort((a, b) => a - b)
console.log(result.join('\n'))
- Array.prototype.map(FUN)
- Array.prototype.reverse()
- Array.prototype.join(SEP)
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const [[N], AS] = stream.split('\n').map(line => line.split(' ').map(Number))
const result = [...AS].reverse()
console.log(result.join('\n'))
- Array.prototype.map(FUN)
- Array.prototype.filter(FUN)
- Array.prototype.join(SEP)
- Array.length
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const [[N, M], AS] = stream.split('\n').map(line => line.split(' ').map(Number))
const result = AS.filter(v => v === M).length
console.log(result)
- Array.prototype.map(FUN)
- Array.prototype.push(VALUE)
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const [[N, M], AS] = stream.split('\n').map(line => line.split(' ').map(Number))
const result = [...AS, M]
console.log(result.join('\n'))
破壊的メソッド(push)を使用
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const [[N, M], AS] = stream.split('\n').map(line => line.split(' ').map(Number))
AS.push(M)
console.log(AS.join('\n'))
- Array.prototype.map(FUN)
- Array.prototype.slice(BIGIN, END)
- Array.prototype.flat(LEVEL)
- Array.prototype.splice(START, DELETE_COUNT, ...[ITEM,])
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const [[N, M], AS] = stream.split('\n').map(line => line.split(' ').map(Number))
const result = [AS.slice(0, M - 1), AS.slice(M)].flat()
console.log(result.join('\n'))
破壊的メソッド(splice)を使用
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const [[N, M], AS] = stream.split('\n').map(line => line.split(' ').map(Number))
AS.splice(M - 1, 1)
console.log(AS.join('\n'))
- Array.prototype.map(FUN)
- Array.prototype.slice(BIGIN, END)
- Array.prototype.flat(LEVEL)
- Array.prototype.splice(START, DELETE_COUNT, ...[ITEM,])
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const [[N, M, K], AS] = stream.split('\n').map(line => line.split(' ').map(Number))
const result = [AS.slice(0, M - 1), K, AS.slice(M - 1)].flat()
console.log(result.join('\n'))
破壊的メソッド(splice)を使用
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const [[N, M, K], AS] = stream.split('\n').map(line => line.split(' ').map(Number))
AS.splice(M - 1, 0, K)
console.log(AS.join('\n'))
- Array.length
const stream = 'Hello\npaiza\n1234\npa13'
const lines = stream.split('\n')
const result = lines.length
console.log(result)
- Array.prototype.join(SEP)
const stream = 'good\nmorning\npaiza\n813\npa13'
const lines = stream.split('\n')
console.log(lines.join('\n'))
- Array.prototype.at(INDEX)
const stream = 'good\nmorning\npaiza\n813\npa13'
const lines = stream.split('\n')
const result = lines[3 - 1] // lines.at(3 - 1)
console.log(result)
- Array.prototype.join(SEP)
const stream = 'eight\none\nthree\npaiza\npa13\n813'
const lines = stream.split('\n')
console.log(lines.join('\n'))
- Array.prototype.join(SEP)
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const cols = stream.split(' ')
console.log(cols.join('\n'))
- Array.prototype.join(SEP)
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const [[N], SS] = stream.split('\n').map(line => line.split(' '))
console.log(SS.join('\n'))
- Array.prototype.at(INDEX)
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const N = parseInt(stream)
const words = 'good\nmorning\npaiza\n813\npa13'.split('\n')
const result = words[N - 1] // words.at(N - 1)
console.log(result)
- Array.prototype.at(INDEX)
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const [[N], SS] = stream.split('\n').map(line => line.split(' '))
const result = SS[parseInt(N) - 1] // SS.at(parseInt(N) - 1)
console.log(result)
- Array.prototype.map(FUN)
- Array.prototype.at(INDEX)
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const [[N, M], SS] = stream.split('\n').map(line => line.split(' '))
const result = SS[parseInt(N) - 1] // SS.at(parseInt(N) - 1)
console.log(result)
- Array.prototype.map(FUN)
- Array.prototype.at(INDEX)
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const [[N, M, L], SS] = stream.split('\n').map(line => line.split(' '))
const result = SS[parseInt(N) - 1][parseInt(L) - 1] // SS.at(parseInt(N) - 1).at(parseInt(L) - 1)
console.log(result)
- Array.prototype.sort(FUN)
- Array.prototype.join(SEP)
- Array.prototype.sort(FUN)
- Array.prototype.join(SEP)
const stream = 'zaipa izapa paiza'
const lines = stream.split(' ')
const result = [...lines].sort()
console.log(result.join('\n'))
- Array.prototype.sort(FUN)
- Array.prototype.join(SEP)
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const cols = stream.split(' ')
const result = [...cols].sort()
console.log(result.join('\n'))
- Array.prototype.map(FUN)
- Array.prototype.sort(FUN)
- Array.prototype.join(SEP)
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const [[N], SS] = stream.split('\n').map(line => line.split(' '))
const result = [...SS].sort()
console.log(result.join('\n'))
- Array.prototype.map(FUN)
- Array.prototype.sort(FUN)
- Array.prototype.at(INDEX)
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const [[N, K], SS] = stream.split('\n').map(line => line.split(' '))
const result = [...SS].sort()[parseInt(K) - 1] // [...SS].sort().at(parseInt(K) - 1)
console.log(result)
- Array.prototype.map(FUN)
- Array.prototype.sort(FUN)
- Array.prototype.join(SEP)
const stream = '1 3 5 1 2 3 6 6 5 1 4'
const cols = stream.split(' ').map(Number)
const hashset = new Set(cols)
const result = [...hashset].sort()
console.log(result.join('\n'))
- Array.prototype.map(FUN)
- Math.prototype.max(...[item1, item2])
- Math.prototype.min(...[item1, item2])
- Array.prototype.join(SEP)
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const [[N], AS] = stream.split('\n').map(line => line.split(' ').map(Number))
const result = [Math.max(...AS), Math.min(...AS)]
console.log(result.join(' '))
- Array.prototype.map(FUN)
- Array.prototype.filter(FUN)
- Array.prototype.join(SEP)
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const [[N], AS] = stream.split('\n').map(line => line.split(' ').map(Number))
const result = AS.filter(v => v >= 5)
console.log(result.join('\n')))
- Array.prototype.map(FUN)
- Array.prototype.filter(FUN)
- Array.prototype.join(SEP)
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const [[N, K], AS] = stream.split('\n').map(line => line.split(' ').map(Number))
const result = AS.filter(v => v >= K)
console.log(result.join('\n')))
- Array.prototype.map(FUN)
- Array.length
- Array.prototype.filter(FUN)
- Array.prototype.join(SEP)
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const [[N], AS] = stream.split('\n').map(line => line.split(' ').map(Number))
const average = AS.reduce((a, b) => a + b) / AS.length
const result = AS.filter(v => v >= average)
console.log(result.join('\n))
- Array.prototype.map(FUN)
- Math.abs(NUMBER)
- Array.prototype.join(SEP)
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const [[N], ...AS] = stream.split('\n').map(line => line.split(' ').map(Number))
const result = AS.map(([x, y]) => Math.abs(2 - x) + Math.abs(3 - y))
console.log(result.join('\n'))
- Array.prototype.map(FUN)
- Math.abs(NUMBER)
- Array.prototype.join(SEP)
// const f = (x1, y1) => ([x2, y2]) => Math.abs(x1 - x2) + Math.abs(y1 - y2)
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const [[N, A, B], ...AS] = stream.split('\n').map(line => line.split(' ').map(Number))
const [[x1, y1], [x2, y2]] = [AS[A -1], AS[B - 1]]
const result = Math.abs(x1 - x2) + Math.abs(y1 - y2)
console.log(result)
- Array.prototype.map(FUN)
- Array.prototype.reduce(FUN)
- Array.prototype.slice(BIGIN, END)
- Array.prototype.join(SEP)
const stream = require('fs').readFileSync('/dev/stdin', 'utf8').trim()
const N = parseInt(stream)
const result = [...Array(N - 2)].reduce((acc, _) => {
const [a, b] = acc.slice(-2)
return [...acc, a + b]
}, [0, 1])
console.log(result.join('\n'))