From 2d427d41624bf9a570a103b5c2c03373ec179268 Mon Sep 17 00:00:00 2001 From: Jungwoo Lee <87072568+howooking@users.noreply.github.com> Date: Thu, 9 May 2024 22:08:06 +0900 Subject: [PATCH] =?UTF-8?q?[pgm]=20n=EC=A7=84=EC=88=98=20=EA=B2=8C?= =?UTF-8?q?=EC=9E=84=20/=20level2=20/=2025=EB=B6=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...4\354\210\230 \352\262\214\354\236\204.js" | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 "howoo/[3\354\260\250] n\354\247\204\354\210\230 \352\262\214\354\236\204.js" diff --git "a/howoo/[3\354\260\250] n\354\247\204\354\210\230 \352\262\214\354\236\204.js" "b/howoo/[3\354\260\250] n\354\247\204\354\210\230 \352\262\214\354\236\204.js" new file mode 100644 index 0000000..06a8066 --- /dev/null +++ "b/howoo/[3\354\260\250] n\354\247\204\354\210\230 \352\262\214\354\236\204.js" @@ -0,0 +1,29 @@ +// numberFormat : 진수 +// time : 말해야 하는 숫자 수 +// members : 인원수 +// orderOfTube : 튜브의 순서 + +function solution(numberFormat, time, members, orderOfTube) { + // 진수변환 후 한 숫자씩 담을 배열 + const numberArray = []; + + // numberArray의 길이를 대략적으로 잡음 >> 더 좋은 방법이 있을 것 같음. + const numberArrayLength = time * members; + + for (let i = 0; i < numberArrayLength; i++) { + numberArray.push(...i.toString(numberFormat).split('')); + } + // 2진수의 경우 ['0', '1', '1', '0', '1', '1', '1', '0', '0', '1', '0', '1', '1', '1', '0', '1', '1', '1', ...], + // 16진수의 경우 ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', '1', '0', '1', '1', '1', '2', '1', '3', ...] + + let finalAnswer = ''; + // 말해야 하는 횟수만큼 반목문 + for (let j = 0; j < time; j++) { + // 튜브가 처음으로 말해야 할 항목은 numberArray[0 * members + (orderOfTube - 1)] + // 튜브가 두번째로 말해야 할 항목은 numberArray[1 * members + (orderOfTube - 1)] ... + finalAnswer += numberArray[j * members + (orderOfTube - 1)]; + } + + // uppercase + return finalAnswer.toUpperCase(); +}