この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 件のコメント:
コメントを投稿