このTopCoderの問題はこちらで見ることができる(要TopCoder登録 & 問題文は英語)。それでは、問題について説明する。
数値を文字列としてソートしてしまうというのは、よくある話である。ここでは、sequence[]という、文字列を昇順で並べた文字列型配列が引数として与えられる(ソートの方法は辞書式順序のルールに従う)。これに代わって、配列の要素を数値と見なして配列を昇順にソートしたときの結果を返せ。返す型は文字列型であることに注意。
私の解答はこちら。
import java.util.Arrays; public class SequenceOfNumbers { public String[] rearrange(String[] sequence) { int[] intSeq = new int[sequence.length]; for( int i=0 ; i<intSeq.length ; i++ ){ intSeq[i] = Integer.parseInt(sequence[i]); } Arrays.sort(intSeq); String[] ret= new String[intSeq.length]; for( int i=0 ; i<ret.length ; i++ ){ ret[i] = Integer.toString(intSeq[i]); } return ret; } }
得点は245.26/250。コンパイルエラー・バグなしの一発回答。素直に実装するだけ。
0 件のコメント:
コメントを投稿