質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

371閲覧

paizaスキルチェック[ランクB]について

退会済みユーザー

退会済みユーザー

総合スコア0

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2017/11/04 11:31

paiza
こちらのサイトで、ランクBまで取ろうと勉強しています。
現在ランクB演習の「長テーブルのうなぎ屋」の部分を繰り返し見ています。
PCのメモ帳を起動して自分の解釈を書きながらやったりしていました。
おおまかに
・配列に空き(0)があるかの判定、空いていたら数字をいれ、座っているという(1)判定をする
・席が空いていなかったら入れず帰ってしまう(false)
・最終的に座れた(1,trueの判定)人数を数えて出力
という手順です。
forでの多重ループの使い方なども初めて見たのですが、何より「簡単な仕様書」を見て自分が知っている事を元にコーディングしていく、という事が初めてで進み具合が悪いです。
自身では一度手書きで整理してからやろうかとも思っています。
実際にPG/SEをされている方はどのように勉強(解釈)して進んでこられたのでしょうか。
ご教示ください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

基本的アルゴリズムの習得を積み重ねていくことが基本となります。
配列の空間把握力を付けるには、並べ替え各種(選択法、隣接交換法、挿入法、度数法など)、順位付け、線形検索、二分検索などを得意な言語で実装してみることです。
例えば次の10個の配列を並べ替える、順位を出力する、9は何番目にあるか出力する、などを複数のアルゴリズムでプログラミングしてみることです。

php

1 $array = array(5,3,7,1,2,9,0,4,8,6);

そして、2次元配列、3次元配列の操作や、末尾からのリバース操作や、縦横入れ替えた操作などをこなしていくと配列操作に馴染んでくると思います。
PAIZAの問題もいいですし、カーニハン&リッチー著「プログラミング言語C」などのプログラミングの基本が順序立てて説明してある本を勉強すると力がつくでしょう。

投稿2017/11/04 12:28

seastar3

総合スコア2285

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/11/05 03:35

ありがとうございます。 php+配列+(〇〇)法で検索しましたが、イマイチピンとくるものがありませんでした。多次元配列は少しだけpaizaで連想配列とともに解説されていた気がするのでなんとなくはわかる気がします。(気がするだけなので実際扱えるかと聞かれると首をかしげる気はしますが・・・) 自分でも本屋を見たりしてみます。
guest

0

  • 入力受け付け時点で、客がどこ始まりで何人座りたいのかを示すデータを生成する
  • 明らかに座れないグループが入れば排除する
  • とりあえず座らせてみる
  • 条件通り座れないひとがいれば キャンセル、そうでなければ確定する

といった考え方で挑戦してみたことがあります

荒い入力データに対して、どれだけ早い段階で "いい感じ" に加工できるのかが大事なのかもしれません


こういった問題と向き合うときは (コンピュータ上で)手を動かして試行錯誤する段階にはまだ早く、焦っても仕様がないので よく、紙とペンを使って、それらを扱う速度に合わせてじっくり考えたりします

まずは図解してみたり、言葉で手順に書き起こしてみたりします

そうして、うまく行きそうであれば、コードに書き起こしてテストにパスするように、試行錯誤し提出します

もし、「手を動かして覚える」地道な方法を取るのであれば、たとえば Atocoder の過去問題集に挑戦してみるなど、たくさんある競技プログラミング サービスを利用してみるのもいいかもしれません

Paiza の問題に対する直接の回答はできませんが、何か参考になれば幸いです

Links

投稿2017/11/05 15:24

gouf

総合スコア2321

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/11/09 12:22

ありがとうございます。 paizaのスキルチェックなのですが、ようやく少しずつ傾向がわかってきたという感じです。 動画の講座で紹介されていない関数を使わないとできなさそうな問題が出てくるので、先にその勉強をしないとだめという感じでちょっと戸惑っていますが・・・。 AtCoderの紹介、ありがとうございます。ただ僕自身の力不足を鑑みると参加はできなさそうです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問