第93回【JavaScript】数字の文字列操作(基本)、数字の文字列操作(0埋め)
現在取り組んでいるのは、paiza ラーニング問題集「Cランクレベルアップメニュー」になります。
はじめに
猫とキャンプと野球観戦と AWS が大好きな旦那、LeoSaki です。モフモフしたい。
JavaScript をゼロから勉強してみよう、のコーナー 93 回目です。
LeoSaki(旦那)は、見られていないところで我武者羅、見られているとやる気がおきない。LunaSaki(嫁)は、まったく逆。なかなか難儀な二人がくっついたものです。
それでは、今日も頑張ってみようと思います。
数字の文字列操作(基本) (paizaランク D 相当)
0 ~ 9 の数字が 4 つ並んだ文字列 S が与えられます。
左から 1 番目の数と 4 番目の数を足し合わせたものを a とし、 2 番目の数と 3 番目の数を足し合わせたものを b とします。
文字列としての a の末尾に文字列としての b を結合したものを出力してください。
入力される値
S
1 行目に文字列 S が与えられます。
入力値最終行の末尾に改行が1つ入ります。
期待する出力
文字列としての a の末尾に文字列としての b を結合したものを出力してください。
また、末尾に改行を入れ、余計な文字、空行を含んではいけません。
すべてのテストケースにおいて、以下の条件をみたします。
・S は 0 ~ 9 の数字 4 文字からなる文字列
入力例
2134
出力例
64
型を理解することが、コードを理解する近道だと思っていたけれど、最近はあまり当てはまらない。
JavaScript
process.stdin.resume();
process.stdin.setEncoding('utf8');
var lines = [];
var reader = require('readline').createInterface({
input: process.stdin,
output: process.stdout
});
reader.on('line', (line) => {
lines.push(line);
});
reader.on('close', () => {
const S = lines[0];
const a = Number(S[0]) + Number(S[3]);
const b = Number(S[1]) + Number(S[2]);
console.log(String(a) + String(b));
});
Python
S = input()
a = int(S[0]) + int(S[3])
b = int(S[1]) + int(S[2])
print(str(a) + str(b))
数字の文字列操作(0埋め) (paizaランク D 相当)
0 ~ 999 の整数 n が与えられます。 n が 3 桁の数である場合には n をそのまま出力し、 n が 2 桁の数である場合には n の先頭に 0 をひとつ、 1 桁の数である場合には n の先頭に 0 をふたつ加えたものを出力してください。
入力される値
n
1 行目に整数 n が与えられます。
入力値最終行の末尾に改行が1つ入ります。
期待する出力
n を 3 桁で 0 埋めしたものを出力してください。
また、末尾に改行を入れ、余計な文字、空行を含んではいけません。
すべてのテストケースにおいて、以下の条件をみたします。
・0 ≤ n ≤ 999
入力例
7
出力例
007
ゼロ埋めはかなり多用する。dynamoDB なんかで複合キーを作るときとか、いろいろ工夫する必要があるので。最近は、Python では、f" を利用することが多い。
JavaScript
process.stdin.resume();
process.stdin.setEncoding('utf8');
var lines = [];
var reader = require('readline').createInterface({
input: process.stdin,
output: process.stdout
});
reader.on('line', (line) => {
lines.push(line);
});
reader.on('close', () => {
const n = Number(lines[0]);
console.log(('000' + n).slice(-3));
});
Python
S = input()
print(S.zfill(3))
最後に
模範解答では、while 文を利用している模様。確かに、汎用性は高そうだ。そういうやり方もある、と頭の片隅に入れておこうと思った。
Python のときに見ているはずで、忘れていたので、あまり自分の頭はあてにならないなぁ。
引き続き、よろしくお願いいたします!
ディスカッション
コメント一覧
まだ、コメントがありません