1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【チートシート】【Javascript】AtCoder(アルゴリズム)の問題を解く際に覚えておくべきメソッド一覧

Last updated at Posted at 2023-09-02

前提

  • コード例は全てJavascriptです
  • AtCoderに興味ない方でも文法チェックシートとしても利用できます

標準出力

一つの文字列を標準入力

function main(input) {
  const a = input.split(" ");

  // コードを入れる

}

main(require("fs").readFileSync("/dev/stdin", "utf8"));

一つの数字を標準入力

function main(input) {
  const a = Number(input.split(" "));

  // コードを入れる

}

main(require("fs").readFileSync("/dev/stdin", "utf8"));

2つ以上の文字列を連続で標準入力

function main(input) {
  const args = input.split('\n');
  const words = args[0].split(' ');
  const a = words[0];
  const b = words[1];

  // コードを入れる

}

main(require('fs').readFileSync('/dev/stdin', 'utf8'));

2つ以上の数字を連続で標準入力

function main(input) {
  const args = input.split('\n');
  const nums = args[0].split(' ');
  const a = Number(nums[0]);
  const b = Number(nums[1]);

  // コードを入れる

}

main(require('fs').readFileSync('/dev/stdin', 'utf8'));

文字列

文字列の長さ

const str = '大阪府大阪市西区千代崎3丁目中2-1';
console.log(str.length) // 18

先頭と後ろの空白を削除する

const str = ' 東京都千代田区霞が関1-2-3  霞が関ビル  ';
console.log(str.trim()); // 東京都千代田区霞が関1-2-3  霞が関ビル

文字列内の空白も削除する

const str = ' 東京都千代田区霞が関1-2-3  霞が関ビル  ';
console.log(str.replace(/\s+/g, '')); // 東京都千代田区霞が関1-2-3霞が関ビル

一つの文字列を別の文字列へ置き換える

const str = '大阪府大阪市西区千代崎3丁目中2-1';
console.log(str.replace('大阪', '京都')); // '京都府大阪市西区千代崎3丁目中2-1'

文字列が含まれるか判定

const str = '大阪府大阪市西区千代崎3丁目中2-1';
if (str.includes('大阪府')) {
  //strに'大阪府'を含む場合の処理
  console.log('大阪の住所'); // '大阪の住所'
} else {
  //strに'大阪府'を含まれない場合の処理
  console.log('違うよ');
}
正規表現 説明
\s 一つ以上の空白文字
+ 回以上繰り返されること
g マッチしたすべてのパターンを一括で置換

for

let str = '';

for (let i = 0; i < 9; i++) {
  str = str + i;
}
console.log(str); // "012345678"

配列

配列の中身を展開

const array = [1,2,3]
// ...(Spread構文を使うと配列の要素を全て展開できる)
console.log(...array) // 1,2,3

要素を先頭から追加

const array = [2,4,6]
array.push(8)
console.log(array) // 2,4,6,8

要素を後ろから追加

const array = [2,4,6]
array.unshift(8);
console.log(...array); // 8,2,4,6

文字列を配列に

const str = 'hello';
const arr = [...str];
console.log(arr); // ['h', 'e', 'l', 'l', 'o']

### 配列を文字列に

const arr = ['h', 'e', 'l', 'l', 'o']
const str = arr.join(",")
console.log(str) // 'hello'

インデックスを指定して取り出す(スライス)

const arr = ['h', 'e', 'l', 'l', 'o']
console.log(arr.slice(1,3)) // ['e', 'l']
console.log(arr.slice(0,3)) // ['h', 'e', 'l']
console.log(arr.slice(-1)) // ['o']

map

配列の各要素を2倍にする

var items = [1, 2, 3, 4, 5];

var result = items.map(function (value) {
  //配列の各要素を2倍にする
  return value * 2;
});

console.log(result); // [2, 4, 6, 8, 10]

まとめ

今後もアルゴリズムの勉強をするつもりなので問題を解いて新たにわかったメソッドなどがあれば逐一追記していく予定です

参考

1
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?