B - さかさま辞書 / AtCoderRegularContest#003
import java.io.*; import java.util.*; public class Main { public static int N; public static String[] s = new String[100]; private void Input() { Scanner sc = new Scanner(System.in); N = Integer.parseInt( sc.next() ); for (int i=0; i<N; ++i) { StringBuilder sb = new StringBuilder( sc.next() ); sb.reverse(); s[i] = sb.toString(); } } private void Solve() { for (int i=0; i<N-1; ++i) for (int j=i+1; j<N; ++j) if (s[i].compareTo(s[j]) > 0) { String tmp = s[i]; s[i] = s[j]; s[j] = tmp; } } private void Output() { PrintWriter pw = new PrintWriter(System.out); for (int i=0; i<N; ++i) { StringBuilder sb = new StringBuilder(s[i]); sb.reverse(); pw.println(sb); } pw.flush(); } public static void main(String[] args) { Main instance = new Main(); instance.Input(); instance.Solve(); instance.Output(); } }
文字列を逆順に並べ比較し、出力する際もまた逆順に並べ出力。
〜了〜