社内se × プログラマ × ビッグデータ

プログラミングなどITに興味があります。

アルゴリズム

AtCoder ABC162 D - RGB Triplets

atcoder.jp使用言語は”Java (OpenJDK 11.0.6)”です。 この問題では以下の2つの条件を満たさないといけないですが、両方の条件を満たすものを探していると、パフォーマンス要件で合格が難しいようです。condition1つ目の条件を満たす数は、Rの数 × Gの数 × B…

[Practice] Print alternate elements of an array

practice.geeksforgeeks.org超基本的な問題ですが 最初に書いたコード(NG) void print(int ar[], int n) { for (int i = 0; i < n; i += 2) printf( "%d\n", ar[i]) ; } 結果を一つずつ改行していたため。OK void print(int ar[], int n) { for (int i = 0; …

AtCoder Count Triplets

atcoder.jp競技プログラミングはあまり得意ではないですが、たまに挑戦しています。 上の課題については、最初に書いたのが、すべての数字を一つずつチェックする方法です。 以下のようにすぐに書けた(Java)のは良かったですが、for を3重で回しており、処理…

Python CUIで迷路生成(3)

スタートとゴールの場所を指定するところまで。 set_start_goal ランダムに座標を指定し、そこが通路ならスタート”S”、またはゴール”G” をそこに設置する。 import sys import random class Maze(): PATH = 0 WALL = 1 START = 2 GOAL = 3 def __init__(self…

Python CUIで迷路生成(2)

内壁を生成するところまで。 棒倒し法により生成するが、その手順は 1. 迷路全体を構成する2次元配列を、幅高さ5以上の奇数で生成する 2. 迷路の外周を壁とし、それ以外を通路とする 3. 外周の内側に基準となる壁(棒)を1セルおき(x, y ともに偶数の座標)に配…

Python CUIで迷路生成(1)

外壁を生成するところまでのステップ。 __init__ 1. Maze(迷路) クラスを生成し、maze, width, height の変数を定義する ※第一引数で縦のサイズ(height)、第二引数で横のサイズ(width)を与えるset_outer_wall 2. row という配列にそのセルが壁なのか、通路な…

プログラマーとしてアルゴリズムを学ぶべきなのか

アルゴリズムとデータ構造 並び替え・検索はシステムのプログラムを書く上で基本的な動作に挙げられると思います。 それらには色んな種類があります。ここで挙げるまでもないですが 並び替え バブルソート ヒープソート マージソート クイックソートなど 検…