ゆめさくエンジニア研究所
文字列問題 02入門

文字列を逆から読む

受け取った英単語を後ろから並べ直して出す。文字列を 1 文字ずつ扱う感覚をつかむ問題です。

問題

英小文字だけでできた単語 s が、標準入力から 1 行で届きます。s を最後の文字から最初の文字へ向かって並べ直し、1 行で出してください。

  • s の長さは 1 文字以上、100 文字以下です
  • s には英小文字 (a から z) だけが入ります

入力と出力の例

例 1

入力

hello

出力

olleh

例 2

前から読んでも後ろから読んでも同じ単語は、そのままの形で出ます。

入力

level

出力

level

ヒント

ヒント 1

文字列は、文字が順に並んだ物です。番号 (添え字) で 1 文字ずつ取り出せます。

ヒント 2

空の文字列を用意し、前から読んだ文字を「いまの結果の前」に足していくと、最後に逆の並びができあがります。

ここから解答です。先に自分で書いてみてから読むと、身につきやすくなります。

解答例

Python

Python

s = input()
print(s[::-1])

JavaScript

Node.js で動かす形です。

JavaScript

const s = require("fs")
  .readFileSync(0, "utf8")
  .trim();
const reversed = [...s]
  .reverse()
  .join("");
console.log(reversed);

解説

Python の s[::-1] はスライスという書き方です。[始め:終わり:歩幅] の歩幅に -1 を渡すと、後ろから 1 文字ずつ取り出した新しい文字列ができます。

JavaScript の文字列には、並びを逆にする道具がありません。[...s] で 1 文字ずつの配列に分け、配列の reverse() で逆にし、join("") でつなぎ直します。

道具を使わずに書くなら、ヒント 2 の形になります。result = ch + result のように、読んだ文字を結果の前に足していきます。面接やテストで「スライスを使わずに」と言われたときは、この形で書けると安心です。

どちらの書き方も、文字を 1 回ずつ見るので、手間は文字数に比例します。

解答例を動かした版 Python 3.14.7Node.js 24.3.0確認日 2026年10月17日

練習問題の一覧へ戻る