さかさ

関西出身で大学にて関東に上京しました。 現在は東京でゲームエンジニアをしています。

さかさ

関西出身で大学にて関東に上京しました。 現在は東京でゲームエンジニアをしています。

マガジン

記事一覧

【C#】学習備忘録 2020年7月編

unsafeunsafe とは、C# でポインタを使いたい時に使用するキーワードです。 unsafe で記述されたブロックでのみポインタは使用可能となります。 using System;class Progr…

さかさ
4年前
1

【C#】学習備忘録 2020年6月編

HashSet / SortedSetHashSet 要素に重複のないリストが作れる。 HashSet に要素をAddする際に重複チェックが不要。 Addして重複している場合は false が返ってくる。 cla…

さかさ
4年前
2

【Unity】学習備忘録 2020年6月編

Unity Editor のバージョン種別LTSストリーム バグフィクスが2年間行われるバージョン。TECHストリームの最終バージョンがLTSに引き継がれる。サポート期間は2年。 TECHス…

さかさ
4年前
4

【C++】文字が大文字か小文字か判定する方法

大文字を判定する方法std::isupper関数を使用することで判定が可能です。 #include <iostream>using namespace std;int main(){ char s; cin >> s; if (isupper(s))…

さかさ
5年前
2

【C++】forを1つ飛ばしで繰り替えし処理する方法

はじめにfor文を使う際、 以下の様にカウントの数だけ繰り返し処理を行って使うことが多いです。 int n = 3;for (int i = 0; i <= n; i++){ cout << i << endl;} 出力…

さかさ
5年前
2

【C++】文字列の連結、挿入方法

文字列を連結したい場合、append関数を使うことで可能となります。 #include <iostream>using namespace std;int main(){ string s = "abc"; s.append("def"); cout…

さかさ
5年前

【C++】整数値の割り算の切り上げ

整数を割り算すると、以下のように小数点以下は切り捨てとなります。 9 / 2 = 4 割り算をした際に小数点以下を切り上げたい時、 以下の方法でそれが可能となります。 割…

さかさ
5年前
10

【C++】文字列の一部を取り出す方法

C++にはsubstr関数があります。 これを用いることで文字列の一部を取り出すことができます。 第一引数では「取り出す文字の開始位置」、 第二引数では「取り出す文字数」…

さかさ
5年前

【AtCoder Beginner Contest 130】 C Rectangle Cutting の解法

問題文平面上に長方形があり、4つの頂点の座標は(0, 0), (W, 0), (W, H), (0, H)です。 この長方形の内部または周上の点(x, y)が与えられます。 (x, y)を通る直線で長方形…

さかさ
5年前

【C++】2つの値の最大公約数と最小公倍数を求める

aとbに値を入力することで、 2つの値の最大公約数と最小公倍数を出力するプログラムが以下になります。 #include <iostream>using namespace std;int gcd(int a, int b){ …

さかさ
5年前

【C++】文字列の中を昇順に並び替える方法

例えば、"cab" という文字列において、 文字列の中を昇順に並び替えると "abc" になる。 また、"231" という文字列において、 文字列の中を昇順に並び替えると "123" にな…

さかさ
5年前
3

【C++】2つの値の公約数を求める

プログラムaとbに値を入力し、 その2つの公約数の結果を出力するプログラムが以下になります。 #include <iostream>using namespace std;int main(){ int a, b; cin >…

さかさ
5年前
3

【C++】2次元配列の入力&出力方法

#include <iostream>using namespace std;int main(){ int n, m; // nが行数、mが列数 cin >> n >> m; // 行数と列数を入力 int tmp[n][m]; for (int i = 0; i < n; i+…

さかさ
5年前
1

【C++】指定の位の値を取得する方法

例えば「123」という数字があり、一の位である「3」を取得したいときは その値を10で割って余りを求めれば取得できる。 #include <iostream>using namespace std;int main…

さかさ
5年前
1

【AtCoder Beginner Contest 128】 B - Guidebook の備忘録

解法のポイント・構造体を用いて、[名前、点数、index(出力用)]のデータを保持 ・sort()を使い、名前をアルファベット順かつ点数を降順に並び替え ・ソート後、その順で構…

さかさ
5年前

【AtCoder Beginner Contest 127】 C - Prisonを解いてみた

AtCoder Beginner Contest 127の C - Prisonを解いてみました。 最初に提出したコードが以下なのですが、「TLE」が出てしまい失敗。。 TLE (Time Limit Exceeded)とは 問…

さかさ
5年前
1
【C#】学習備忘録 2020年7月編

【C#】学習備忘録 2020年7月編

unsafeunsafe とは、C# でポインタを使いたい時に使用するキーワードです。
unsafe で記述されたブロックでのみポインタは使用可能となります。

using System;class Program{ public static void Main() { unsafe { int* p; // ポインタの宣言

もっとみる

【C#】学習備忘録 2020年6月編

HashSet / SortedSetHashSet

要素に重複のないリストが作れる。
HashSet に要素をAddする際に重複チェックが不要。
Addして重複している場合は false が返ってくる。

class Program{ static void Main( string[] args ) { var set1 = new HashSet<string>(); set1.

もっとみる
【Unity】学習備忘録 2020年6月編

【Unity】学習備忘録 2020年6月編

Unity Editor のバージョン種別LTSストリーム
バグフィクスが2年間行われるバージョン。TECHストリームの最終バージョンがLTSに引き継がれる。サポート期間は2年。

TECHストリーム
次のメジャーバーションがリリースされるまでの期間バグフィックスが行われるバージョン。サポート期間は次のLTSリリースまで。

プレリリース
αやβバージョンなどの検証段階バージョン。サポート期間はな

もっとみる
【C++】文字が大文字か小文字か判定する方法

【C++】文字が大文字か小文字か判定する方法

大文字を判定する方法std::isupper関数を使用することで判定が可能です。
#include <iostream>using namespace std;int main(){ char s; cin >> s; if (isupper(s)) { cout << "大文字です" << endl; } else { cout << "大文

もっとみる
【C++】forを1つ飛ばしで繰り替えし処理する方法

【C++】forを1つ飛ばしで繰り替えし処理する方法

はじめにfor文を使う際、
以下の様にカウントの数だけ繰り返し処理を行って使うことが多いです。

int n = 3;for (int i = 0; i <= n; i++){ cout << i << endl;}

出力結果

0
1
2
3

ただ、1つ飛ばしてnが偶数の時だけ処理したい、または奇数の時だけ処理したい場合は、以下のようにすると実現可能です。

偶数の時だけ処理する場合i

もっとみる
【C++】文字列の連結、挿入方法

【C++】文字列の連結、挿入方法

文字列を連結したい場合、append関数を使うことで可能となります。
#include <iostream>using namespace std;int main(){ string s = "abc"; s.append("def"); cout << s << endl; return 0;}

出力結果

abcdef

また、第二引数に挿入したい文字列の長さを指定

もっとみる
【C++】整数値の割り算の切り上げ

【C++】整数値の割り算の切り上げ

整数を割り算すると、以下のように小数点以下は切り捨てとなります。

9 / 2 = 4

割り算をした際に小数点以下を切り上げたい時、
以下の方法でそれが可能となります。

割られる数をa、 割る数をbとした時、

(a + (b-1)) / b

上記の式に当てはめると、小数点以下を切り上げた値が取得できます。

例えば、a = 9, b = 2 で計算してみると、切り上げた値「5」になります。

もっとみる
【C++】文字列の一部を取り出す方法

【C++】文字列の一部を取り出す方法

C++にはsubstr関数があります。
これを用いることで文字列の一部を取り出すことができます。

第一引数では「取り出す文字の開始位置」、
第二引数では「取り出す文字数」を指定できます。

string str = 文字列;str.substr(開始位置, 取り出す文字数);

指定した開始位置から最後までの文字列を取得する方法
第一引数のみ記入することで、
指定した開始位置から最後までの部分の

もっとみる

【AtCoder Beginner Contest 130】 C Rectangle Cutting の解法

問題文平面上に長方形があり、4つの頂点の座標は(0, 0), (W, 0), (W, H), (0, H)です。 この長方形の内部または周上の点(x, y)が与えられます。
(x, y)を通る直線で長方形を2つの部分に分割するとき、 面積の大きくない方の面積の最大値を求めてください。
また、その最大値を達成する分割の方法が複数あるかも判定してください。

コード解答コードは以下になります。(C++

もっとみる
【C++】2つの値の最大公約数と最小公倍数を求める

【C++】2つの値の最大公約数と最小公倍数を求める

aとbに値を入力することで、
2つの値の最大公約数と最小公倍数を出力するプログラムが以下になります。
#include <iostream>using namespace std;int gcd(int a, int b){ if (a%b == 0) { return(b); } else { return(gcd(b, a%b)); }}int

もっとみる
【C++】文字列の中を昇順に並び替える方法

【C++】文字列の中を昇順に並び替える方法

例えば、"cab" という文字列において、
文字列の中を昇順に並び替えると "abc" になる。

また、"231" という文字列において、
文字列の中を昇順に並び替えると "123" になる。

以下のプログラムでは s に文字列を入力することで、
文字列の中を昇順に並び変えた結果が出力される。
#include <iostream>using namespace std;int main()

もっとみる
【C++】2つの値の公約数を求める

【C++】2つの値の公約数を求める

プログラムaとbに値を入力し、
その2つの公約数の結果を出力するプログラムが以下になります。
#include <iostream>using namespace std;int main(){ int a, b; cin >> a >> b; int min = ::min(a, b); for (int i = 1; i <= min; i++) { if (

もっとみる
【C++】2次元配列の入力&出力方法

【C++】2次元配列の入力&出力方法

#include <iostream>using namespace std;int main(){ int n, m; // nが行数、mが列数 cin >> n >> m; // 行数と列数を入力 int tmp[n][m]; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) {

もっとみる

【C++】指定の位の値を取得する方法

例えば「123」という数字があり、一の位である「3」を取得したいときは
その値を10で割って余りを求めれば取得できる。
#include <iostream>using namespace std;int main(){ int num = 123; // 一の位の数。 123/10 の余りは「3」。 int onesPlace = num % 10; cout << o

もっとみる

【AtCoder Beginner Contest 128】 B - Guidebook の備忘録

解法のポイント・構造体を用いて、[名前、点数、index(出力用)]のデータを保持
・sort()を使い、名前をアルファベット順かつ点数を降順に並び替え
・ソート後、その順で構造体内の index データを出力
#include <iostream>#include <vector>#include <algorithm>using namespace std;struct Shop { str

もっとみる

【AtCoder Beginner Contest 127】 C - Prisonを解いてみた

AtCoder Beginner Contest 127の C - Prisonを解いてみました。
最初に提出したコードが以下なのですが、「TLE」が出てしまい失敗。。

TLE (Time Limit Exceeded)とは
問題で指定された実行時間以内にプログラムが終了せず失敗すること。
#include <iostream>using namespace std;int main(){

もっとみる