You are given N counters, initially set to 0, and you have two possible operations on them:
- increase(X) − counter X is increased by 1,
- max counter − all counters are set to the maximum value of any counter.
A non-empty array A of M integers is given. This array represents consecutive operations:
- if A[K] = X, such that 1 ≤ X ≤ N, then operation K is increase(X),
- if A[K] = N + 1 then operation K is max counter.
For example, given integer N = 5 and array A such that:
A[0] = 3 A[1] = 4 A[2] = 4 A[3] = 6 A[4] = 1 A[5] = 4 A[6] = 4the values of the counters after each consecutive operation will be:
(0, 0, 1, 0, 0) (0, 0, 1, 1, 0) (0, 0, 1, 2, 0) (2, 2, 2, 2, 2) (3, 2, 2, 2, 2) (3, 2, 2, 3, 2) (3, 2, 2, 4, 2)The goal is to calculate the value of every counter after all operations.
Write a function:
function solution(N, A);
that, given an integer N and a non-empty array A consisting of M integers, returns a sequence of integers representing the values of the counters.
Result array should be returned as an array of integers.
For example, given:
A[0] = 3 A[1] = 4 A[2] = 4 A[3] = 6 A[4] = 1 A[5] = 4 A[6] = 4the function should return [3, 2, 2, 4, 2], as explained above.
Write an efficient algorithm for the following assumptions:
- N and M are integers within the range [1..100,000];
- each element of array A is an integer within the range [1..N + 1].
Invalid result type, Array expected, 'undefined' found Perhaps you are missing a 'return'?stdout:
5 [ 3, 4, 4, 6, 1, 4, 4 ]
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// 0으로 초기화된 길이 N의 배열을 만든다.
const array = Array(N).fill(0)
for (let i=0; i<A.length; i++) {
// 모든 숫자를 올려야 하는 경우
if (A[i] > N) {
} else {
array[A[i] - 1] += 1
}
}
console.log(array)
}
Invalid result type, Array expected, 'undefined' found Perhaps you are missing a 'return'?stdout:
[ 1, 0, 1, 4, 0 ]
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// 0으로 초기화된 길이 N의 배열을 만든다.
const array = Array(N).fill(0)
for (let i=0; i<A.length; i++) {
// 모든 숫자를 올려야 하는 경우
if (A[i] > N) {
} else {
array[A[i] - 1] += 1
}
}
console.log(array)
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// 0으로 초기화된 길이 N의 배열을 만든다.
const array = Array(N).fill(0)
let max = 0
for (let i=0; i<A.length; i++) {
// 모든 숫자를 올려야 하는 경우
if (A[i] > N) {
// 하나씩만 올리면 되는 경우
} else {
array[A[i] - 1] += 1
}
}
console.log(array)
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// 0으로 초기화된 길이 N의 배열을 만든다.
const array = Array(N).fill(0)
let max = 0
for (let i=0; i<A.length; i++) {
// 모든 숫자를 올려야 하는 경우
if (A[i] > N) {
// 하나씩만 올리면 되는 경우
} else {
array[A[i] - 1] += 1
if (max < array[A[i] - 1]) {
max = array
}
}
}
console.log(array)
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// 0으로 초기화된 길이 N의 배열을 만든다.
const array = Array(N).fill(0)
let max = 0
for (let i=0; i<A.length; i++) {
// 모든 숫자를 올려야 하는 경우
if (A[i] > N) {
// 하나씩만 올리면 되는 경우
} else {
array[A[i] - 1] += 1
if (max < array[A[i] - 1]) {
max = array[A[i] - 1]
}
}
}
console.log(array, max)
}
Invalid result type, Array expected, 'undefined' found Perhaps you are missing a 'return'?stdout:
[ 1, 0, 1, 4, 0 ] 4
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// 0으로 초기화된 길이 N의 배열을 만든다.
const array = Array(N).fill(0)
let max = 0
let setMax = 0
for (let i=0; i<A.length; i++) {
// 모든 숫자를 올려야 하는 경우
if (A[i] > N) {
setMax =
// 하나씩만 올리면 되는 경우
} else {
array[A[i] - 1] += 1
if (max < array[A[i] - 1]) {
max = array[A[i] - 1]
}
}
}
console.log(array, max)
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// 0으로 초기화된 길이 N의 배열을 만든다.
const array = Array(N).fill(0)
let max = 0
let setMax = 0
for (let i=0; i<A.length; i++) {
// 모든 숫자를 올려야 하는 경우
if (A[i] > N) {
setMax = max
// 하나씩만 올리면 되는 경우
} else {
array[A[i] - 1] += 1
if (max < array[A[i] - 1]) {
max = array[A[i] - 1]
}
}
}
console.log(array, max)
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// 0으로 초기화된 길이 N의 배열을 만든다.
const array = Array(N).fill(0)
let max = 0
let setMax = 0
for (let i=0; i<A.length; i++) {
// 모든 숫자를 올려야 하는 경우
if (A[i] > N) {
setMax = max
// 하나씩만 올리면 되는 경우
} else {
array[A[i] - 1] += 1
if (max < array[A[i] - 1]) {
max = array[A[i] - 1]
}
}
}
console.log(array, max)
}
Invalid result type, Array expected, 'undefined' found Perhaps you are missing a 'return'?stdout:
[ 1, 0, 1, 4, 0 ] 4
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// 0으로 초기화된 길이 N의 배열을 만든다.
const array = Array(N).fill(0)
let max = 0
let setMax = 0
for (let i=0; i<A.length; i++) {
// 모든 숫자를 올려야 하는 경우
if (A[i] > N) {
setMax = max
// 하나씩만 올리면 되는 경우
} else {
array[A[i] - 1] += 1
if (max < array[A[i] - 1]) {
max = array[A[i] - 1]
}
}
}
console.log(array, max, setMax)
}
Invalid result type, Array expected, 'undefined' found Perhaps you are missing a 'return'?stdout:
[ 1, 0, 1, 4, 0 ] 4 2
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// 0으로 초기화된 길이 N의 배열을 만든다.
const array = Array(N).fill(0)
let max = 0
let setMax = 0
for (let i=0; i<A.length; i++) {
// 모든 숫자를 올려야 하는 경우
console.log(A[i])
if (A[i] > N) {
setMax = max
// 하나씩만 올리면 되는 경우
} else {
array[A[i] - 1] += 1
if (max < array[A[i] - 1]) {
max = array[A[i] - 1]
}
}
}
console.log(array, max, setMax)
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// 0으로 초기화된 길이 N의 배열을 만든다.
const array = Array(N).fill(0)
let max = 0
let setMax = 0
for (let i=0; i<A.length; i++) {
// 모든 숫자를 올려야 하는 경우
console.log(A[i])
if (A[i] > N) {
setMax = max
// 하나씩만 올리면 되는 경우
} else {
array[A[i] - 1] += 1
if (max < array[A[i] - 1]) {
max = array[A[i] - 1]
}
}
}
console.log(array, max, setMax)
}
Invalid result type, Array expected, 'undefined' found Perhaps you are missing a 'return'?stdout:
3 4 4 6 1 4 4 [ 1, 0, 1, 4, 0 ] 4 2
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// 0으로 초기화된 길이 N의 배열을 만든다.
const array = Array(N).fill(0)
let max = 0
let maxCou = 0
for (let i=0; i<A.length; i++) {
// 모든 숫자를 올려야 하는 경우
console.log(A[i])
if (A[i] > N) {
setMax = max
// 하나씩만 올리면 되는 경우
} else {
array[A[i] - 1] += 1
if (max < array[A[i] - 1]) {
max = array[A[i] - 1]
}
}
}
console.log(array, max, setMax)
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// 0으로 초기화된 길이 N의 배열을 만든다.
const array = Array(N).fill(0)
let max = 0
// 마지막 max counter
let maxCounter = 0
for (let i=0; i<A.length; i++) {
// 모든 숫자를 올려야 하는 경우
console.log(A[i])
if (A[i] > N) {
maxCounter = max
// 하나씩만 올리면 되는 경우
} else {
array[A[i] - 1] += 1
if (max < array[A[i] - 1]) {
max = array[A[i] - 1]
}
}
}
console.log(array, max, setMax)
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// 0으로 초기화된 길이 N의 배열을 만든다.
const array = Array(N).fill(0)
let max = 0
// 마지막 max counter
let maxCounter = 0
for (let i=0; i<A.length; i++) {
// 모든 숫자를 올려야 하는 경우
console.log(A[i])
if (A[i] > N) {
maxCounter = max
// 하나씩만 올리면 되는 경우
} else {
array[A[i] - 1] += 1
if (max < array[A[i] - 1]) {
max = array[A[i] - 1]
}
}
}
console.log(array, max, setMax)
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// 0으로 초기화된 길이 N의 배열을 만든다.
const array = Array(N).fill(0)
let max = 0
// 마지막 max counter
let maxCounter = 0
for (let i=0; i<A.length; i++) {
// 모든 숫자를 올려야 하는 경우
console.log(A[i])
if (A[i] > N) {
maxCounter = max
// 하나씩만 올리면 되는 경우
} else {
array[A[i] - 1] += 1
if (max < array[A[i] - 1]) {
max = array[A[i] - 1]
}
if ()
}
}
console.log(array, max, setMax)
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// 0으로 초기화된 길이 N의 배열을 만든다.
const array = Array(N).fill(0)
let max = 0
// 마지막 max counter
let maxCounter = 0
for (let i=0; i<A.length; i++) {
// 모든 숫자를 올려야 하는 경우
console.log(array[A[i]], A[i])
if (A[i] > N) {
maxCounter = max
// 하나씩만 올리면 되는 경우
} else {
array[A[i] - 1] += 1
if (max < array[A[i] - 1]) {
max = array[A[i] - 1]
}
if ()
}
}
console.log(array, max, setMax)
}
solution.js:26 if () ^ SyntaxError: Unexpected token ) at createScript (vm.js:80:10) at Object.runInNewContext (vm.js:135:10) at getSolution (/tmp/exec.js:401:29) at Promise.resolve.then (/tmp/exec.js:435:34) at <anonymous> at process._tickCallback (internal/process/next_tick.js:188:7) at Function.Module.runMain (module.js:686:11) at startup (bootstrap_node.js:187:16) at bootstrap_node.js:608:3
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// 0으로 초기화된 길이 N의 배열을 만든다.
const array = Array(N).fill(0)
let max = 0
// 마지막 max counter
let maxCounter = 0
for (let i=0; i<A.length; i++) {
// 모든 숫자를 올려야 하는 경우
console.log(array[A[i]], A[i])
if (A[i] > N) {
maxCounter = max
// 하나씩만 올리면 되는 경우
} else {
array[A[i] - 1] += 1
if (max < array[A[i] - 1]) {
max = array[A[i] - 1]
}
// if ()
}
}
console.log(array, max, setMax)
}
ReferenceError: setMax is not defined at solution (solution.js:30:29) at solutionWrapper (/tmp/exec.js:411:28) at Promise.resolve.then (/tmp/exec.js:437:24) at <anonymous> at process._tickCallback (internal/process/next_tick.js:188:7) at Function.Module.runMain (module.js:686:11) at startup (bootstrap_node.js:187:16) at bootstrap_node.js:608:3stdout:
0 3 0 4 0 4 undefined 6 0 1 0 4 0 4
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// 0으로 초기화된 길이 N의 배열을 만든다.
const array = Array(N).fill(0)
let max = 0
// 마지막 max counter
let maxCounter = 0
for (let i=0; i<A.length; i++) {
// 모든 숫자를 올려야 하는 경우
console.log(array[A[i] ], A[i])
if (A[i] > N) {
maxCounter = max
// 하나씩만 올리면 되는 경우
} else {
array[A[i] - 1] += 1
if (max < array[A[i] - 1]) {
max = array[A[i] - 1]
}
// if ()
}
}
console.log(array, max, setMax)
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// 0으로 초기화된 길이 N의 배열을 만든다.
const array = Array(N).fill(0)
let max = 0
// 마지막 max counter
let maxCounter = 0
for (let i=0; i<A.length; i++) {
// 모든 숫자를 올려야 하는 경우
console.log(array[A[i] - 1], A[i])
if (A[i] > N) {
maxCounter = max
// 하나씩만 올리면 되는 경우
} else {
array[A[i] - 1] += 1
if (max < array[A[i] - 1]) {
max = array[A[i] - 1]
}
// if ()
}
}
console.log(array, max, setMax)
}
ReferenceError: setMax is not defined at solution (solution.js:30:29) at solutionWrapper (/tmp/exec.js:411:28) at Promise.resolve.then (/tmp/exec.js:437:24) at <anonymous> at process._tickCallback (internal/process/next_tick.js:188:7) at Function.Module.runMain (module.js:686:11) at startup (bootstrap_node.js:187:16) at bootstrap_node.js:608:3stdout:
0 3 0 4 1 4 undefined 6 0 1 2 4 3 4
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// 0으로 초기화된 길이 N의 배열을 만든다.
const array = Array(N).fill(0)
let max = 0
// 마지막 max counter
let maxCounter = 0
for (let i=0; i<A.length; i++) {
// 모든 숫자를 올려야 하는 경우
console.log(array[A[i] - 1], A[i])
if (A[i] > N) {
maxCounter = max
// 하나씩만 올리면 되는 경우
} else {
array[A[i] - 1] += 1
if (max < array[A[i] - 1]) {
max = array[A[i] - 1]
}
// if ()
}
}
console.log(array, max, maxCounter)
}
Invalid result type, Array expected, 'undefined' found Perhaps you are missing a 'return'?stdout:
0 3 0 4 1 4 undefined 6 0 1 2 4 3 4 [ 1, 0, 1, 4, 0 ] 4 2
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// 0으로 초기화된 길이 N의 배열을 만든다.
const array = Array(N).fill(0)
let max = 0
// 마지막 max counterd
let maxCounter = 0
for (let i=0; i<A.length; i++) {
// 모든 숫자를 올려야 하는 경우
console.log(array[A[i] - 1], A[i])
if (A[i] > N) {
maxCounter = max
// 하나씩만 올리면 되는 경우
} else {
array[A[i] - 1] += 1
if (max < array[A[i] - 1]) {
max = array[A[i] - 1]
}
// if ()
}
}
console.log(array, max, maxCounter)
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// 0으로 초기화된 길이 N의 배열을 만든다.
const array = Array(N).fill(0)
let max = 0
// 마지막 max counter의 기준이 되었던 수
let maxCounter = 0
for (let i=0; i<A.length; i++) {
// 모든 숫자를 올려야 하는 경우
console.log(array[A[i] - 1], A[i])
if (A[i] > N) {
maxCounter = max
// 하나씩만 올리면 되는 경우
} else {
array[A[i] - 1] += 1
if (max < array[A[i] - 1]) {
max = array[A[i] - 1]
}
// if ()
}
}
console.log(array, max, maxCounter)
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// 0으로 초기화된 길이 N의 배열을 만든다.
const array = Array(N).fill(0)
let max = 0
// 마지막 max counter의 기준이 되었던 수
let maxCounter = 0
for (let i=0; i<A.length; i++) {
// 모든 숫자를 올려야 하는 경우
console.log(array[A[i] - 1], A[i], max)
if (A[i] > N) {
maxCounter = max
// 하나씩만 올리면 되는 경우
} else {
array[A[i] - 1] += 1
if (max < array[A[i] - 1]) {
max = array[A[i] - 1]
}
// if ()
}
}
console.log(array, max, maxCounter)
}
Invalid result type, Array expected, 'undefined' found Perhaps you are missing a 'return'?stdout:
0 3 0 0 4 1 1 4 1 undefined 6 2 0 1 2 2 4 2 3 4 3 [ 1, 0, 1, 4, 0 ] 4 2
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// 0으로 초기화된 길이 N의 배열을 만든다.
const array = Array(N).fill(0)
let max = 0
// 마지막 max counter의 기준이 되었던 수
let maxCounter = 0
for (let i=0; i<A.length; i++) {
// 모든 숫자를 올려야 하는 경우
console.log(array[A[i] - 1], A[i], max)
if (A[i] > N) {
maxCounter = max
// 하나씩만 올리면 되는 경우
} else {
array[A[i] - 1] += 1
if ()
if (max < array[A[i] - 1]) {
max = array[A[i] - 1]
}
// if ()
}
}
console.log(array, max, maxCounter)
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// 0으로 초기화된 길이 N의 배열을 만든다.
const array = Array(N).fill(0)
let max = 0
// 마지막 max counter의 기준이 되었던 수
let maxCounter = 0
for (let i=0; i<A.length; i++) {
// 모든 숫자를 올려야 하는 경우
console.log(array[A[i] - 1], A[i], max)
if (A[i] > N) {
maxCounter = max
// 하나씩만 올리면 되는 경우
} else {
array[A[i] - 1] += 1
if (array[A[i] - 1])
if (max < array[A[i] - 1]) {
max = array[A[i] - 1]
}
// if ()
}
}
console.log(array, max, maxCounter)
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// 0으로 초기화된 길이 N의 배열을 만든다.
const array = Array(N).fill(0)
let max = 0
// 마지막 max counter의 기준이 되었던 수
let maxCounter = 0
for (let i=0; i<A.length; i++) {
// 모든 숫자를 올려야 하는 경우
console.log(array[A[i] - 1], A[i], max)
if (A[i] > N) {
maxCounter = max
// 하나씩만 올리면 되는 경우
} else {
array[A[i] - 1] += 1
if (array[A[i] - 1] < maxCounter) {
array[A[i] - 1] = maxCounter
}
if (max < array[A[i] - 1]) {
max = array[A[i] - 1]
}
// if ()
}
}
console.log(array, max, maxCounter)
}
Invalid result type, Array expected, 'undefined' found Perhaps you are missing a 'return'?stdout:
0 3 0 0 4 1 1 4 1 undefined 6 2 0 1 2 2 4 2 3 4 3 [ 2, 0, 1, 4, 0 ] 4 2
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// 0으로 초기화된 길이 N의 배열을 만든다.
const array = Array(N).fill(0)
let max = 0
// 마지막 max counter의 기준이 되었던 수
let maxCounter = 0
for (let i=0; i<A.length; i++) {
// 모든 숫자를 올려야 하는 경우
console.log(array[A[i] - 1], A[i], max)
if (A[i] > N) {
maxCounter = max
// 하나씩만 올리면 되는 경우
} else {
if (array[A[i] - 1] < maxCounter) {
array[A[i] - 1] = maxCounter
}
array[A[i] - 1] += 1
if (max < array[A[i] - 1]) {
max = array[A[i] - 1]
}
// if ()
}
}
console.log(array, max, maxCounter)
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// 0으로 초기화된 길이 N의 배열을 만든다.
const array = Array(N).fill(0)
let max = 0
// 마지막 max counter의 기준이 되었던 수
let maxCounter = 0
for (let i=0; i<A.length; i++) {
// 모든 숫자를 올려야 하는 경우
console.log(array[A[i] - 1], A[i], max)
if (A[i] > N) {
maxCounter = max
// 하나씩만 올리면 되는 경우
} else {
if (array[A[i] - 1] < maxCounter) {
array[A[i] - 1] = maxCounter
}
array[A[i] - 1] += 1
if (max < array[A[i] - 1]) {
max = array[A[i] - 1]
}
// if ()
}
}
console.log(array, max, maxCounter)
}
Invalid result type, Array expected, 'undefined' found Perhaps you are missing a 'return'?stdout:
0 3 0 0 4 1 1 4 1 undefined 6 2 0 1 2 2 4 3 3 4 3 [ 3, 0, 1, 4, 0 ] 4 2
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// 0으로 초기화된 길이 N의 배열을 만든다.
const array = Array(N).fill(0)
let max = 0
// 마지막 max counter의 기준이 되었던 수
let maxCounter = 0
for (let i=0; i<A.length; i++) {
// 모든 숫자를 올려야 하는 경우
console.log(array[A[i] - 1], A[i], max)
if (A[i] > N) {
maxCounter = max
// 하나씩만 올리면 되는 경우
} else {
if (array[A[i] - 1] < maxCounter) {
array[A[i] - 1] = maxCounter
}
array[A[i] - 1] += 1
if (max < array[A[i] - 1]) {
max = array[A[i] - 1]
}
// if ()
}
}
re
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// 0으로 초기화된 길이 N의 배열을 만든다.
const array = Array(N).fill(0)
let max = 0
// 마지막 max counter의 기준이 되었던 수
let maxCounter = 0
for (let i=0; i<A.length; i++) {
// 모든 숫자를 올려야 하는 경우
console.log(array[A[i] - 1], A[i], max)
if (A[i] > N) {
maxCounter = max
// 하나씩만 올리면 되는 경우
} else {
if (array[A[i] - 1] < maxCounter) {
array[A[i] - 1] = maxCounter
}
array[A[i] - 1] += 1
if (max < array[A[i] - 1]) {
max = array[A[i] - 1]
}
// if ()
}
}
return array.map((i) => i < maxCounter ? maxCounter : i)
}
0 3 0 0 4 1 1 4 1 undefined 6 2 0 1 2 2 4 3 3 4 3
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// 0으로 초기화된 길이 N의 배열을 만든다.
const array = Array(N).fill(0)
let max = 0
// 마지막 max counter의 기준이 되었던 수
let maxCounter = 0
for (let i=0; i<A.length; i++) {
// 모든 숫자를 올려야 하는 경우
if (A[i] > N) {
//
maxCounter = max
// 하나씩만 올리면 되는 경우
} else {
if (array[A[i] - 1] < maxCounter) {
array[A[i] - 1] = maxCounter
}
array[A[i] - 1] += 1
if (max < array[A[i] - 1]) {
max = array[A[i] - 1]
}
// if ()
}
}
return array.map((i) => i < maxCounter ? maxCounter : i)
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// 0으로 초기화된 길이 N의 배열을 만든다.
const array = Array(N).fill(0)
let max = 0
// 마지막 max counter의 기준이 되었던 수
let maxCounter = 0
for (let i=0; i<A.length; i++) {
// 모든 숫자를 올려야 하는 경우
if (A[i] > N) {
// maxCounter에 다같이 올라가는 최대 숫자를 저장해 둔다.
maxCounter = max
// 하나씩만 올리면 되는 경우
} else {
// 현재 숫자가 maxCounter보다 작을 경우 maxCounter로 초기화 한다.
if (array[A[i] - 1] < maxCounter) {
array[A[i] - 1] = maxCounter
}
// 그리고 _!
array[A[i] - 1] += 1
if (max < array[A[i] - 1]) {
max = array[A[i] - 1]
}
// if ()
}
}
return array.map((i) => i < maxCounter ? maxCounter : i)
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// 0으로 초기화된 길이 N의 배열을 만든다.
const array = Array(N).fill(0)
// 배열 내 최대 값
let max = 0
// 마지막 max counter의 기준이 되었던 수
let maxCounter = 0
for (let i=0; i<A.length; i++) {
// 모든 숫자를 올려야 하는 경우
if (A[i] > N) {
// maxCounter에 다같이 올라가는 최대 숫자를 저장해 둔다.
maxCounter = max
// 하나씩만 올리면 되는 경우
} else {
// 현재 숫자가 maxCounter보다 작을 경우 maxCounter로 초기화 한다.
if (array[A[i] - 1] < maxCounter) {
array[A[i] - 1] = maxCounter
}
// 그리고 +1을 한다
array[A[i] - 1] += 1
// 이렇게 새롭게 세팅된 숫자가 배열의 최대값인지 확인한다.
if (max < array[A[i] - 1]) {
max = array[A[i] - 1]
}
// if ()
}
}
return array.map((i) => i < maxCounter ? maxCounter : i)
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// 0으로 초기화된 길이 N의 배열을 만든다.
const array = Array(N).fill(0)
// 배열 내 최대 값
let max = 0
// 마지막 max counter의 기준이 되었던 수
let maxCounter = 0
for (let i=0; i<A.length; i++) {
// 모든 숫자를 올려야 하는 경우
if (A[i] > N) {
// maxCounter에 다같이 올라가는 최대 숫자를 저장해 둔다.
maxCounter = max
// 하나씩만 올리면 되는 경우
} else {
// 현재 숫자가 maxCounter보다 작을 경우 maxCounter로 초기화 한다.
if (array[A[i] - 1] < maxCounter) {
array[A[i] - 1] = maxCounter
}
// 그리고 +1을 한다
array[A[i] - 1] += 1
// 이렇게 새롭게 세팅된 숫자가 배열의 최대값인지 확인한다.
if (max < array[A[i] - 1]) {
max = array[A[i] - 1]
}
// if ()
}
}
return array.map((i) => i < maxCounter ? maxCounter : i)
}
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(N, A) {
// 0으로 초기화된 길이 N의 배열을 만든다.
const array = Array(N).fill(0)
// 배열 내 최대 값
let max = 0
// 마지막 max counter의 기준이 되었던 수
let maxCounter = 0
for (let i=0; i<A.length; i++) {
// 모든 숫자를 올려야 하는 경우
if (A[i] > N) {
// maxCounter에 다같이 올라가는 최대 숫자를 저장해 둔다.
maxCounter = max
// 하나씩만 올리면 되는 경우
} else {
// 현재 숫자가 maxCounter보다 작을 경우 maxCounter로 초기화 한다.
if (array[A[i] - 1] < maxCounter) {
array[A[i] - 1] = maxCounter
}
// 그리고 +1을 한다
array[A[i] - 1] += 1
// 이렇게 새롭게 세팅된 숫자가 배열의 최대값인지 확인한다.
if (max < array[A[i] - 1]) {
max = array[A[i] - 1]
}
// if ()
}
}
return array.map((i) => i < maxCounter ? maxCounter : i)
}
The solution obtained perfect score.