サクっと済ませられる方法を見つけられたのでメモ
解いていた問題
解法メモ
- 基数変換を実装してあげれば済む問題
けど、標準の関数でもっと簡単に記述できる。
// 2進数⇔10進数 println("4".toInt().toString(2)) // 100 println("100".toInt(2)) // 4 println("5".toInt().toString(2)) // 101 println("101".toInt(2)) // 5 // 3進数⇔10進数 println("4".toInt().toString(3)) // 11 println("100".toInt(3)) // 9 println("5".toInt().toString(3)) // 12 println("101".toInt(3)) // 10
↓の感じで0パディングしてあげると二進表記の桁も揃う。
println("1".toInt().toString(2).padStart(5, '0')) // 00001 println("2".toInt().toString(2).padStart(5, '0')) // 00010 println("3".toInt().toString(2).padStart(5, '0')) // 00011 println("4".toInt().toString(2).padStart(5, '0')) // 00100
- これならビット演算とかにも使えそう・・・?
提出した回答
- Submission #33365374 - AtCoder Beginner Contest 156
- 素直に基数変換のプログラムを実装した版
- Submission #39541368 - AtCoder Beginner Contest 156
- toString(基数)を活用して基数変換した版