rinotemis

プログラミング勉強中の大学生。 夢はアイアンマンを作ること。

rinotemis

プログラミング勉強中の大学生。 夢はアイアンマンを作ること。

マガジン

  • りのてみすのプログラミング学習記録

最近の記事

プログラミング学習記録【25日目】/ AtCoder Beginners Selection -4

ABC085C - Otoshidama問題文 青橋くんは祖父からN枚の紙幣を受け取り、合計Y円もらったと言っているが、間違っている可能性がある。青橋くんの言っている状況があり得るかどうか判定し、ありえる場合はお札の内訳の候補を1つ出力せよ。候補がない場合、出力は -1 -1 -1 とすること。 まあとりあえず数を受け取る。 int N,a;cin >> N >> a; お札の枚数は一定なので、福沢さんと樋口さんの枚数をループで変え、野口さんの枚数を残りにすれば良い。今

    • プログラミング学習記録【24日目】/ AtCoder Beginners Selection -3

      ABC083B Some Sums 問題文 1以上N以下の整数のうち、10進法での各桁の和がA以上B以下であるものの総和を求めてください。 入力は以下の形式で標準入力から与えられる。 N A B まずはコードの外形を考えていく。 1-Nまでの数字を考えていくから引き続きrepを用いる。前回同様、使いたい数字はNも含まれ、i=0は計算を行わなくて良いので、repではなくiを1追加する。構文内でiをいじってしまうと正しくループが機能しないので、別の変数に入れてから処理を行う。

      • プログラミング学習記録【23日目】/ AtCoder Beginners Selection -2

        ABC081B - Shift only問題文 黒板にN個の正の数が書かれている。 スヌケくんは、黒板に書かれている整数がすべて偶数であるとき、黒板に書かれている整数すべてを2で割ったものに置き換えることができる。 スヌケくんは最大で何回操作を行うことができるかを出力せよ。 入力された変数は何度も用いることになりそうなので、配列として受け取ることにする。配列を1文字ずつ2で割れるか確認していき、すべて2で割れる場合カウンタを1プラスした上でwhile(judge)とかでju

        • プログラミング学習記録【22日目】/AtCoder Beginners Selection -1

          PracticeA - Welcome to Atcoder問題文 高橋くんはデータの加工が行いたいです。 整数a,b,cと、文字列sが与えられます。 a + b + c の計算結果と、文字列sを並べて表示しなさい。 これについては基礎中の基礎で、特段難しいこともないので早速ソースコードを作ってしまう。 #include <bits/stdc++.h>using namespace std;#define rep(i, n) for (int i = 0; i < (in

        • プログラミング学習記録【25日目】/ AtCoder Beginners Selection -4

        • プログラミング学習記録【24日目】/ AtCoder Beginners Selection -3

        • プログラミング学習記録【23日目】/ AtCoder Beginners Selection -2

        • プログラミング学習記録【22日目】/AtCoder Beginners Selection -1

        マガジン

        • りのてみすのプログラミング学習記録
          24本

        記事

          プログラミング学習記録【21日目】/ テンプレート、イテレータ、repマクロ

          4.03.テンプレートテンプレート 構造体や関数の型を一般化するための機能 関数テンプレート 同様の処理を行うが、使用している方が異なる関数をまとめることができる。STLにて定義されている min,max といった関数は関数テンプレートを用いて定義されている。 関数テンプレートの宣言は以下のように行う。 template <typename テンプレート引数> 返り値の型 関数名(引数の型 引数...(必要な文だけ書く)) { //処理 }

          プログラミング学習記録【21日目】/ テンプレート、イテレータ、repマクロ

          プログラミング学習記録【20日目】/ includeディレクティブ・名前空間

          4.01.includeディレクティブソースファイル ソースコードを記述したコンピュータ上のファイルのこと ライブラリ 便利な関数や構造体を欠いたソースファイルなどをまとめたものをライブラリと呼ぶ。 STLもライブラリの一つ。C++の一部として用意されているため、STLは標準ライブラリと呼ばれる。 #include <bits/stdc++.h>の意味 C++の関数呼び出しや四則演算などの機能は言語機能だが、変数の値を出力するcoutやendlはSTLによって提供されてい

          プログラミング学習記録【20日目】/ includeディレクティブ・名前空間

          プログラミング学習記録【19日目】/マクロ、ラムダ式、その他の機能

          大学の試験勉強をしていて、更新を滞らせていた。リハビリを兼ねてプログラムを作ったのだが、思ったように内容が出て来ず、記事の内容をまとめ直すなどしていたら年が明けてしまった。試験も無事終わり、内容もまとめ終わったので、久々に再開させたいと思う。 3.06.その他の機能PCでは文字を数字として扱っている。扱いは基本ASCII文字コードを用いる。 そのため、文字コードを利用しプログラムすることも可能。 関数内で宣言される変数をローカル変数と呼ぶ。 変数は関数外で宣言することもで

          プログラミング学習記録【19日目】/マクロ、ラムダ式、その他の機能

          プログラミング学習記録【18日目】/ビット演算

          3.05.ビット演算0と1の2通りで状態を表現できるデータの単位をビットト呼ぶ。 ビットをいくつか並べたものをビット列と呼び、ビット列に関する演算をビット演算と呼ぶ。 今回は以下の6つについて考える。 ・AND演算 ・OR演算 ・XOR演算 ・NOT演算 ・左シフト演算 ・右シフト演算 AND演算(論理積) 対応するビットがともに1の場合のみ解が1となり、それ以外は0となる演算。 OR演算 対応するビットの少なくとも一方が1の場合、結果が1となる演算。 ともに0のときのみ

          プログラミング学習記録【18日目】/ビット演算

          プログラム学習記録【17日目】/構造体

          3.04.構造体pair,tupleの他にも複数のデータを纏める方法がある。 構造体を利用するが、STLのpairやtupleも構造体を用いて実装されている。 以下のようにして実装する。 struct 構造体名{ 型1 メンバ変数名1 型2 メンバ変数名2 …}; // セミコロンを忘れない また、 auto 変数名 = 構造体名(); として構造体の値を生成することもできる。 構造体が持つ変数をメンバ変数と呼ぶ。 メンバ変数は通常の変数と同じ様に扱うこ

          プログラム学習記録【17日目】/構造体

          プログラム学習記録【16日目】/map, queue

          前回から、記事のタイトルにもその日学習したことのトピックを書いてみることにした。 理由は、僕の場合noteは学習の公開で3日坊主を脱却しメリハリを持っておく、という理由の他に、備忘録としても利用したいと考えているからである。 前回、問題で並び替えができるのは配列だった、というところまでは思い出したのだが、構文をど忘れしてしまっており、それを確認するため過去記事を読み返していたのだが、どの記事に書いてあるか全くわからず、1つ1つ読み込んでしまった、という失敗談に基づいての試みだ

          プログラム学習記録【16日目】/map, queue

          プログラム学習記録【15日目】/pair,tuple,auto,スニペット

          公開処刑眠さに勝てず更新をサボってしまっていた。 バイトに行き、イライラする事があって勉強にどうも集中できず、ベッドにダイブしたらそのまま寝てしまう、という負の連鎖をずっと繰り返していた。 今日、とてもスッキリすることがあり、こうして更新を再開するメンタルに戻ったのだ。 僕のしているバイト、イベント運営のバイトは基本派遣バイトなので、学生バイト以外にいわゆるフリーターという人もいる。 最近イライラしていたのはバイトチーフを担うような人に対してなのだが、いかんせん社員さんがい

          プログラム学習記録【15日目】/pair,tuple,auto,スニペット

          プログラム学習記録【14日目】

          オートミール生活、始めます。今まで一人でいるときは朝食を食べる習慣はなかったのだが、彼女さんと半同棲状態になって、強制的に朝食に参加させられている。 朝食があるおかげで1日調子がいい、とかの変化は特段なく、代わりに昼食を食べなくなった、というのが1番の変化だ。 ちなみに、月にかかる食費は二人合わせても1万~1万5千ほどだ(外食は除く)。これは僕が大学に来た頃、PCなどを買いたくて貯金を無理やりしていたせいで、食費に割くお金がどうしても少なくなってしまい、その頃の習慣が今でも

          プログラム学習記録【14日目】

          プログラミング学習記録【13日目】

          街のマーベルファンはにわか一度も触れていない僕の一番好きなもの。 アイアンマンに小さい頃から憧れている。 映画アイアンマンからこの世界に踏み込んだが、今に至るまでに幾度見直したか覚えていないほど見た。 マーベル作品のアベンジャーズのヒーローはみんな好きなのだが、アイアンマンは郡を抜いていて、映画だけにとどまらず、漫画にも手を出して背景を確認するほどなのだ。 そして好きはそこだけにとどまらず、マーベル映画は毎作チェックし、ドラマAgent of SHIELDやエージェント・カ

          プログラミング学習記録【13日目】

          プログラミング学習記録【12日目】

          朝6時からバイトに駆り出され、夕方頃開放されたと思ったらそのまま飲み会に連行、日付が変わっても飲まされるというハプニングがあり、その御蔭で昨日は頭が痛すぎて、光る画面を見ることができず、ずっと寝ていて更新できなかった。2日連続勉強できなくてショック。 2.05. 再帰関数繰り返し処理を行う方法の一つ。 ある関数の中で同じ関数を呼び出すことを再帰と呼ぶ。 関数の知識が重要なので確認しておくと良い。 煩雑なので例題をもとに理解を深めていく。 N個の組織からなるA社で報告書の提

          プログラミング学習記録【12日目】

          プログラミング学習記録【11日目】

          キーボードPCを何台か所有しているが、特に使うのが自作したデスクトップと、SurfaceProの2台。デスクトップはモニタが2枚つながっているので、作業しながら調べ物もしてアニメも見る、みたいなマルチに使う際に大活躍している。この子は青軸キーボードにトラックボールのマウス、Razer製のマクロキーパットをつなげて遊んでいるので、多少面倒な作業もマクロ化して行うなど、楽しんで作業できる環境のつもりである。 一方Surfaceは、奮発して当時最高スペックにしたおかげで、プログラミ

          プログラミング学習記録【11日目】

          プログラミング学習記録【10日目】

          解釈 みんな大好きソクラテスさんは、無知は罪なり、と言った。 この言葉には続きがあるらしい。 知らないことは罪だ。僕は幼い頃から親にこの言葉を浴び続けられ、知らないことは悪いことなんだ、と思っていた。 今は、知らないからと言って許されることはない、という意味もあると解釈しているが、やはり、無知とは恥ずかしいことなんだ、というイメージのほうが強い。 だから、知ってることがあるとついついマウントをとりたくなってしまう心理もわからなくもない。 こういった考えを、「いや、間違ってんで

          プログラミング学習記録【10日目】