[アルゴリズム]プログラマー-n進ゲーム
4083 ワード
https://programmers.co.kr/learn/courses/30/lessons/17687
救命圏活動のコードサークルでは、伝統的に遊ぶゲームがあります.このゲームはみんなが円に座って、順番に数字を言うゲームで、ルールは以下の通りです.
数字はゼロから順に言う.1人目は0、2人目は1、…10人目は9.
10以上の数字から、ひとつひとつ.つまり、11人目が10の1位、12人目が2位、つまり0です.
このようにゲームを行うと、
一方、エンコーディングサークルのメンバーもパソコンを操作している人のようにバイナリ数でゲームをしている場合、
バイナリでゲームをすることに慣れた人たちは、難易度を上げるために、バイナリから16進数までのすべての進数でゲームをすることにした.デジタルゲームに慣れていない救命圏は、ゲームに負けて罰せられる屈辱を避けるために、自分の言う数字を事前にスマートフォンに出力するプログラムを作るつもりだ.パイプ上のプログラムを実現します.
陣法nは、予め求めた数t、ゲームに参加する者m、パイプの順番pである.
2 ≦ n ≦ 16
0 < t ≦ 1000
2 ≦ m ≦ 100
1 ≦ p ≦ m
パイプが言う数字tを順番に表示するスペースのない文字列.しかし、10~15はそれぞれ大文字A~Fで出力される.解答方法
-まずn進文字列を作成します.
したがって、nが16の場合、0から1つずつ大きくなり、各値を16進数に変換して文字列に加算し、戻り値に基づいてt個の値を選択できるので、文字列の長さが
−
-上記の手順で生成された文字列から値を抽出します.
この過程で、iの初期値はp-1で、1回転するたびに、iにmを加えて、1回転しますか?で行ないます.
問題の説明
救命圏活動のコードサークルでは、伝統的に遊ぶゲームがあります.このゲームはみんなが円に座って、順番に数字を言うゲームで、ルールは以下の通りです.
数字はゼロから順に言う.1人目は0、2人目は1、…10人目は9.
10以上の数字から、ひとつひとつ.つまり、11人目が10の1位、12人目が2位、つまり0です.
このようにゲームを行うと、
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, …
順番に数字を言えばいいです.一方、エンコーディングサークルのメンバーもパソコンを操作している人のようにバイナリ数でゲームをしている場合、
0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, …
順番に数字を言えばいいです.バイナリでゲームをすることに慣れた人たちは、難易度を上げるために、バイナリから16進数までのすべての進数でゲームをすることにした.デジタルゲームに慣れていない救命圏は、ゲームに負けて罰せられる屈辱を避けるために、自分の言う数字を事前にスマートフォンに出力するプログラムを作るつもりだ.パイプ上のプログラムを実現します.
入力フォーマット
陣法nは、予め求めた数t、ゲームに参加する者m、パイプの順番pである.
2 ≦ n ≦ 16
0 < t ≦ 1000
2 ≦ m ≦ 100
1 ≦ p ≦ m
出力フォーマット
パイプが言う数字tを順番に表示するスペースのない文字列.しかし、10~15はそれぞれ大文字A~Fで出力される.
-まずn進文字列を作成します.
したがって、nが16の場合、0から1つずつ大きくなり、各値を16進数に変換して文字列に加算し、戻り値に基づいてt個の値を選択できるので、文字列の長さが
t * m
より大きい場合、while文の作成は終了する.−
toString(n)
の方法をn進数変換で使用した.このメソッドの最初のパラメータに変換値の整数を加えると、n進数に変換された文字列が返されます.-上記の手順で生成された文字列から値を抽出します.
この過程で、iの初期値はp-1で、1回転するたびに、iにmを加えて、1回転しますか?で行ないます.
function solution(n, t, m, p) {
let curNum = 0;
let totalStr="";
let result = "";
const totalRound = m*t;
while(totalStr.length < totalRound){
totalStr += curNum.toString(n)
curNum++;
}
for(let i = p-1 ; i < totalRound; i += m){
result += totalStr[i]
}
return result.toUpperCase();
}
Reference
この問題について([アルゴリズム]プログラマー-n進ゲーム), 我々は、より多くの情報をここで見つけました https://velog.io/@dolarge/알고리즘-프로그래머스-n진수-게임テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol