[プログラマー]124カ国の数字(C++)
1517 ワード
質問-124カ国/地域の数値
すべての数字を表すときは1,2,4しか使いません.
自然数nがパラメータとして与えられると、解関数が完了し、124カ国で使用されるnの値が返される.
n進法とは全く異なる番号付け方式です.
最初から1,2,4を順番に使います.
nをshareに保存して認識します.
3つの数字が交互に現れるので、残りの部分に保存するために%3を行います.
そして3つに分けます.
残りが0の場合は、答えの前に「4」を付けて共有--.
残りが1または2の場合、答えの前に「1」と「2」を付けます.
このプロセスはwhile文で与えられたn値が0になるまで繰り返される.
その結果得られた答えは正解だった.
🤔もんだいぶんせき
すべての数字を表すときは1,2,4しか使いません.
自然数nがパラメータとして与えられると、解関数が完了し、124カ国で使用されるnの値が返される.
😏に答える
n進法とは全く異なる番号付け方式です.
最初から1,2,4を順番に使います.
nをshareに保存して認識します.
3つの数字が交互に現れるので、残りの部分に保存するために%3を行います.
そして3つに分けます.
残りが0の場合は、答えの前に「4」を付けて共有--.
残りが1または2の場合、答えの前に「1」と「2」を付けます.
このプロセスはwhile文で与えられたn値が0になるまで繰り返される.
その結果得られた答えは正解だった.
💻コード#コード#
#include <string>
#include <vector>
using namespace std;
string solution(int n) {
string answer = "";
int share = n;
int remainder = -1;
while (share != 0) {
remainder = share % 3;
share = share / 3;
if (remainder == 0) { //나누어 떨어질 경우 몫을 1빼준다.
answer = "4" + answer;
share--;
}
else if (remainder == 1) {
answer = "1" + answer;
}
else if (remainder == 2) {
answer = "2" + answer;
}
}
return answer;
}
Reference
この問題について([プログラマー]124カ国の数字(C++)), 我々は、より多くの情報をここで見つけました https://velog.io/@yr4528/프로그래머스124-나라의-숫자Cテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol