KDOC 427: 桁ごとに処理するスマートな方法を見る
この文書のステータス
- 作成
- 2025-08-08 貴島
- レビュー
- <署名>
概要
コーディング問題に、数値を桁ごとに処理せよ、というものがある。さっと出てこなかったのでメモしておく。
import "fmt" func main() { for _, r := range "12345" { c := int(r - '0') fmt.Println(c) } }
1 2 3 4 5
流れ。
- 入力文字列(数字)をrune、つまりUnicodeコードポイントに分割する
- 1文字ごとにベースのコードポイント’0’を使って、コードポイントを数値に変換する。数字のコードポイントは連番で並んでいる
- 得られた数値を使う
関連
- KDOC 347: 大文字小文字の変換をそらで書く。類似した、コードポイントを使ったトリック。数字、小文字、大文字ごとでコードポイントが連番なのでトリックが使える