著者
Javaを用いてPaizaを解き始めた駆け出しエンジニアです。
元々はJavaScriptを用いてBランク程度の問題を解いていたのですが、業務でJavaを使用することになったので、学習のアウトプットとしてPaizaを活用しています。(有料会員)
JavaScriptで問題を解く時と比べてJavaだと文字列→数値の変換や、配列の扱い方、定義の仕方など、暗記しづらいがよく使うコードがたくさんあるなと感じました。
そこで、自分のアウトプット兼備忘録のために、Paizaでよく出てくるコードを載せました。
(Paizaでは、解答を転載することは禁止されているので、解答自体を載せることはしません。あくまでメソッドや定義の解説になります。)
int n = sc.nextInt();
int m = sc.nextInt();
int num = 10;
String str = String.valueOf(num);
String str = "24";
int num = Integer.parseInt(str);
List<Integer> a = new ArrayList<>();
for (int i = 0; i < n; i++) {
a.add(sc.nextInt());
}
String[] s = new String[n];
for (int i = 0; i < n; i++) {
s[i] = sc.next();
}
System.out.println(Arrays.toString(arr1)); //配列
System.out.println(Arrays.deepToString(array)); //多重配列
int[] a = new int[n];
for (int i = 0; i < n; i++) {
a[i] = sc.nextInt();
}
Arrays.sort(a);
System.out.println(a[n - 1] + " " + a[0]);
public class StrCharAt {
public static void main(String[] args) {
String str = "こんにちは";
System.out.println(str.charAt(3)); //ち
}
}
for (int x : a) {
System.out.println(x);
}
list.size();
// 昇順
Collections.sort(リスト名);
// 降順
Collections.sort(リスト名, Collections.reverseOrder());
Arrays.sort(配列名);
Arrays.sort(配列名, Collections.reverseOrder());
Collections.reverse(a);
array.remove(array.indexOf("さむらい"));
List<Integer> li = Arrays.asList(1, 3, 5, 1, 2, 3, 6, 6, 5, 1, 4);
Set<Integer> a = new TreeSet(li);
int sum = 0;
for (int x : a) {
sum += x;
}
double ave = (double) sum / n;
int[][] a new int[n][5];
for (int i = 0; i < n; i++) {
for (int j = 0; j < 5; j++) {
a[i][j] = sc.nextInt();
}
}
for (int i = 0; i < n; i++){
for (int j = i + 1; j < n; j++){
if(Math.abs(a[i] - a[j]) < diff) {
diff = Math.abs(a[i] - a[j]);
if(a[i] < a[j]) {
taller = a[j];
shorter = a[i];
} else {
}
}
}
}
Map<Integer, String> map = new HashMap<>();
map.put(10, "Ten");
map.put(100, "Hundred");
map.put(1000, "Thousand");
System.out.println(map);
// {100=Hundred, 1000=Thousand, 10=Ten}
public class SimpleTesting{
public static void main(String[] args) {
Map<Integer, String> map = new HashMap<>();
map.put(10, "Ten");
map.put(100, "Hundred");
map.put(1000, "Thousand");
for (Integer key: map.keySet()){
System.out.println(key+ " = " + map.get(key));
}
}
}
// 100 = Hundred
// in1000 = Thousand
// 10 = Ten
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
// Mapの宣言
Map<Integer, String> mMap1 = new HashMap<Integer, String>();
// Mapにデータを格納
mMap1.put( 1, "apple");
mMap1.put( 2, "orange");
mMap1.put( 3, "melon");
// keySetを使用して、キーを取得する
Set<Integer> MapSet = mMap1.keySet();
// Setインタフェースの変数MapSetの値を確認
for (Iterator<Integer> n = MapSet.iterator(); n.hasNext();)
{
System.out.println(n.next());
}
}
}
// 1
// 2
// 3
keySetメソッドを使用すれば、putメソッドで追加したMapのset値が返却
されます。keySetメソッドで取得したMapSetの中身をループで確認すると、Mapのキー値が取得できていることがわかります。
ArrayList<Integer> keyList = new ArrayList<>(ab.keySet());
Collections.sort(keyList);
for (Integer x : keyList) {
System.out.println(x + " " + bc.get(ab.get(x)));
}
よくググってしまうのは、listと配列のメソッドですね。
いまだになぜlistと配列というものがあるのか不思議です。(JSだと配列のみ使うので)
Javaは難しいので根気良く学習していきます。
まさかりなどコメントをバンバン募集しています。
私も、この記事を見た人も勉強になるので、間違い等ありましたら指摘のほどよろしくお願いします。