■ 標準入力メニュー4 ■
1 行の整数の入力 Python3編
2 行の整数の入力 Python3編
5 行の整数の入力 Python3編
100 行の整数の入力 Python3編
【整数の行入力】1,000行の整数の入力 Python3編
カテゴリー: GAS
【paiza問題集】「標準入力その3」をPythonとGASの両方で解いたコード紹介リンク集
このコーナーでは、プログラミング学習コンテンツのpaizaラーニングのレベルアップ問題集の同じ問題をPythonとGAS(Google Apps Script)で解いたコードを掲載しております。
■ 標準入力メニュー3 ■
1 つの入力 Python3編
半角スペース区切りの 2 つの入力 Python3編
半角スペース区切りの 3 つの入力 Python3編
半角スペース区切りの 10 個の入力 Python3編
【半角スペース区切りの入力】半角スペース区切りの 1,000 個の入力 Python3編
【paiza問題集】「標準入力その2」をPythonとGASの両方で解いたコード紹介リンク集
このコーナーでは、プログラミング学習コンテンツのpaizaラーニングのレベルアップ問題集の同じ問題をPythonとGAS(Google Apps Script)で解いたコードを掲載しております。
■ 標準入力メニュー2 ■
2 つの文字列の半角スペース区切りでの分割 Python3編
3 つの文字列の半角スペース区切りでの分割 Python3編
【半角スペース区切りでの文字列の分割】5 つの文字列の半角スペース区切りでの分割 Python3編
【paiza問題集】「標準入力その1」をPythonとGASの両方で解いたコード紹介リンク集
このコーナーでは、プログラミング学習コンテンツのpaizaラーニングのレベルアップ問題集の同じ問題をPythonとGAS(Google Apps Script)で解いたコードを掲載しております。
1 行の入力 Python3編
2 行の入力 Python3編
3 行の入力 Python3編
10 行の入力 Python3編
【行入力】1,000 行の入力 Python3編
【GASの最初の一歩】HUNTER×HUNTERの自作サンプル
この記事のシリーズを読むことで、アニメHUNTER×HUNTER(ハンターハンター)を通してGAS(Google Apps Script)の最初の一歩が学べます。
キャラクターと一緒に冒険している感覚で自作サンプルのコードを動かして頂けたらきっと楽しいと思います♪
episode1 「セル操作で入力と消去」
episode2 「文字入力と消去をボタン操作で行う」
episode3 「範囲を指定してまとめて入力(二次元配列は団地だ!)」
episode4 「ヒソカチェックで、IFとループを一気に習得」
episode5 「指定したセル範囲のフォントを変える」
episode6 「指定したセル範囲に色を付ける」
episode7 「キャラの身長で演算(平均・条件に該当する数のカウント)」
episode8 (最終回)「キャラの身長をシンプルなグラフ化する」
ご精読有難うございました。
■ GASの入門書の紹介です ■
詳解! Google Apps Script完全入門 [第3版]
単行本
Kindle版(電子書籍)
■ 関連記事 ■
paiza レベルアップ問題集 「STEP: 3 1 行目で与えられる N 個の文字列の入力」をPythonとGASで解いてみた
この記事を読むことで、Pythonで標準入力とsplitメソッドを用いて、文字列の数と全ての文字列をループの中で出力することが可能になります。GASではスプレッドシートで値を取得して、二次元配列にして出力しています。
このコーナーでは、学習コンテンツpaizaラーニングのレベルアップ問題集をPythonとGASの両方で解いて全コードの解説をしています。
PythonとGASの両方のコードを用いて、全コード及び部分的にも可能な限り詳細に記載いたしました。
GASはスプレッドシートを使っています。
GASはGoogle Apps Scriptと言って、JavaScriptの文法をベースにしているので、JavaScriptの学習中の方にもお役立て出来るかも知れません。
paizaレベルアップ問題集でPythonとGASを解いて見たに戻る
メインメニューに戻る
Python自作サンプル
GASサンプル
基本情報技術者試験
paizaでの解答はPythonで行いましたが、この記事ではPythonのコードと共に、同じ問題を現在学習中のGASだったらどう解くのか、スプレッドシートでバインドして作ってみました。
1 行目で与えられる N 個の文字列の入力 (paizaランク D 相当)
問題:
1 行目で、整数 N と、続けて N 個の文字列 s_1, … , s_N が半角スペース区切りで与えられます。
s_1, … , s_N を改行区切りで出力してください。
ではまず、Pythonで解いてみます。
今回は、paiza.ioを使って解きます。paiza.ioの使い方はこちらから。
■ Pythonでの解き方 ■
手順として、
1:1行目の文字列の個数Nと文字列を標準入力でリストarrayに取得する
2:文字列の個数NをN=int(array[0])で取得する
3:リストarray[1]〜array[N]までをループで出力
の3ステップで行います。
今回は入出力例1を用います。
入力例1
5 paiza 813 paiza813 Hello World!
まず、準備として、paiza.ioにこのように入力します。
(入力例1 をコピペしたのみ)
下記のコードで入力と出力を行います。
#1行目の文字列の個数Nと文字列を標準入力でリストarrayに取得する
array=list(map(str,input().split(' ')))
#文字列の個数NをN=int(array[0])で取得する
N=int(array[0])
#リストarray[1]〜array[N]までをループで出力
for i in range(1,N+1):
print(array[i])このコードの実行(出力)結果です。
Pythonは以上です。
次は、GASで解いて行きます。
■ GASでの解き方 ■
今度は、同じ問題をGASで解いてみます。
まず、スプレッドシートにこの様に配置しました。
灰色の所には、文字列の個数N個と、N個の文字列を入力しています。この灰色の所を配列arrayで取得し、N=array[0]として、array[1]〜array[N]までを黄色いセルの所に出力します。その際、array[1]〜array[N]までの部分の文字列が二次元配列になるよう、ループで新たな配列array2に追加して、その配列array2を出力します。
※スプレッドシートに表示する場合は、二次元配列としての配列に追加をして作成します※
手順はこのようになります。
1:SpreadSheetAppから階層を辿って現在のシートにアクセスする
2:灰色のセルをsplitメソッドを用いてarrayに取得する
3:配列arrayをログ出力
4:文字列の数NをN=array[0]として取得する
5:array[1]〜array[N]までループを使ってarray2に二次元配列として追加する
6:配列array2をログ出力
7:スプレッドシートの黄色い所に格納する
手順1: SpreadSheetAppから階層を辿って現在のシートにアクセスする
const ss = SpreadsheetApp.getActiveSheet();
ここで定数ssにSpreadsheetAppから階層を辿ってアクティブシートにアクセスしています。
手順2:灰色のセルをsplitメソッドを用いてarrayに取得する
const array=ss.getRange(1,1).getValue().split(‘ ‘);
手順3:配列arrayをログ出力
console.log(array);
手順4:文字列の数NをN=array[0]として取得する
const N=array[0];
手順5:array[1]〜array[N]までループを使ってarray2に二次元配列として追加する
//array[1]〜array[N]までループを使ってarray2に二次元配列として追加する
let array2=[];
for(let i=1;i<=N;i++){
array2.push([array[i]]);
}手順6:配列array2をログ出力
console.log(array2);
スプレッドシートに格納する準備として、配列array2にループを使ってarrayを二次元配列array2に格納する
手順7:配列array2をログ出力
console.log(array2);
<ログarray2>
手順8:スプレッドシートの黄色い所に格納する
ss.getRange(1,3,N).setValues(array2);
実行後のスプレッドシートです。
GASでの全コードはこちらになります。
function standardInput31(){
//SpreadSheetAppから階層を辿って現在のシートにアクセスする
const ss=SpreadsheetApp.getActiveSheet();
//灰色のセルをsplitメソッドを用いてarrayに取得する
const array=ss.getRange(1,1).getValue().split(' ');
//配列arrayをログ出力
console.log(array);
//文字列の数NをN=array[0]として取得する
const N=array[0];
//array[1]〜array[N]までループを使ってarray2に二次元配列として追加する
let array2=[];
for(let i=1;i<=N;i++){
array2.push([array[i]]);
}
//配列array2をログ出力
console.log(array2);
//スプレッドシートの黄色い所に格納する
ss.getRange(1,3,N).setValues(array2);
}
宜しかったらコピペしてアレンジして見て下さい。
お疲れ様でした、ブレイクタイムフォトはこちらになります。
2019年いたばし花火大会
プログラミングのアンケートにご協力頂ける方はこちらのフォームで勉強法など色々と教えて下さい。
←前の問題へ 次の問題へ(準備中)→
paiza レベルアップ問題集 「STEP: 2 2 行目で与えられる N 個の文字列の入力」をPythonとGASで解いてみた
この記事を読むことで、Pythonで標準入力とsplitメソッドを用いて、文字列の数と全ての文字列をループの中で出力することが可能になります。GASではスプレッドシートで値を取得して、二次元配列にして出力しています。
このコーナーでは、学習コンテンツpaizaラーニングのレベルアップ問題集をPythonとGASの両方で解いて全コードの解説をしています。
PythonとGASの両方のコードを用いて、全コード及び部分的にも可能な限り詳細に記載いたしました。
GASはスプレッドシートを使っています。
GASはGoogle Apps Scriptと言って、JavaScriptの文法をベースにしているので、JavaScriptの学習中の方にもお役立て出来るかも知れません。
paizaレベルアップ問題集でPythonとGASを解いて見たに戻る
メインメニューに戻る
Python自作サンプル
GASサンプル
基本情報技術者試験
paizaでの解答はPythonで行いましたが、この記事ではPythonのコードと共に、同じ問題を現在学習中のGASだったらどう解くのか、スプレッドシートでバインドして作ってみました。
2 行目で与えられる N 個の文字列の入力 (paizaランク D 相当)
問題:
1 行目に整数 N が与えられます。
2 行目に、N 個の文字列 s_1, … , s_N が半角スペース区切りで与えられます。
s_1, … , s_N を改行区切りで出力してください。
ではまず、Pythonで解いてみます。
今回は、paiza.ioを使って解きます。paiza.ioの使い方はこちらから。
■ Pythonでの解き方 ■
手順として、
1:1行目の文字列の個数Nを標準入力で整数として取得する
2:2行目の半角スペース区切りの文字列をリストarrayに格納する
3:リストをループで出力
の3ステップで行います。
今回は入出力例1を用います。
入力例1
5
paiza 813 paiza813 hello813 good
出力例1
paiza
813
paiza813
hello813
good
まず、準備として、paiza.ioにこのように入力します。
(入力例1 をコピペしたのみ)
下記のコードで入力と出力を行います。
#1行目の文字列の個数Nを標準入力で整数として取得する
N=int(input())
#2行目の半角スペース区切りの文字列をリストarrayに格納する
array=list(map(str,input().split(' ')))
#リストをループで出力
for i in range(N):
print(array[i])このコードの実行(出力)結果です。
Pythonは以上です。
次は、GASで解いて行きます。
■ GASでの解き方 ■
今度は、同じ問題をGASで解いてみます。
まず、スプレッドシートにこの様に配置しました。
緑色のセルに文字列の個数N=5、灰色の所に出力するN個の文字列を入力しています。この灰色の所を配列arrayで取得し、N個の文字列を黄色いセルに出力します。その際、この黄色いセルの所には、二次元配列として取得した整数が格納された配列を出力します。
※スプレッドシートに表示する場合は、二次元配列としての配列に追加をして作成します※
手順はこのようになります。
1:SpreadSheetAppから階層を辿って現在のシートにアクセスする
2:緑色のセルと灰色のセルを配列areaに取得する
3:文字列の数NをN=area[0][0]として取得する
4:灰色のセルの文字列の部分をarray=area[1][0].split(‘ ‘)として取得する
5:配列arrayをログ出力
6:スプレッドシートに格納する準備として、配列array2にループを使ってarrayを二次元配列array2に格納する
7:配列array2をログ出力
8:スプレッドシートの黄色い所に格納する
手順1: SpreadSheetAppから階層を辿って現在のシートにアクセスする
const ss = SpreadsheetApp.getActiveSheet();
ここで定数ssにSpreadsheetAppから階層を辿ってアクティブシートにアクセスしています。
手順2:緑色のセルと灰色のセルを配列areaに取得する
const area=ss.getRange(1,1,2).getValues();
手順3:文字列の数NをN=area[0][0]として取得する
const N=area[0][0];
手順4:灰色のセルの文字列の部分をarray=area[1][0].split(‘ ‘)として取得する
const array=area[1][0].split(‘ ‘);
手順5:配列arrayをログ出力
console.log(array);
手順6:スプレッドシートに格納する準備として、配列array2にループを使ってarrayを二次元配列array2に格納する
//スプレッドシートに格納する準備として、配列array2にループを使ってarrayを二次元配列array2に格納する
let array2=[];
for(let i=0;i<N;i++){
array2.push([array[i]]);
}手順7:配列array2をログ出力
console.log(array2);
この画像より、二次元配列になっていることが確認できます。
手順8:スプレッドシートの黄色い所に格納する
ss.getRange(1,3,N).setValues(array2);
実行後のスプレッドシートです。
GASでの全コードはこちらになります。
function standardInput30(){
//SpreadSheetAppから階層を辿って現在のシートにアクセスする
const ss=SpreadsheetApp.getActiveSheet();
//緑色のセルと灰色のセルを配列areaに取得する
const area=ss.getRange(1,1,2).getValues();
//文字列の数NをN=area[0][0]として取得する
const N=area[0][0];
//灰色のセルの文字列の部分をarray=area[1][0].split(' ')として取得する
const array=area[1][0].split(' ');
//配列arrayをログ出力
console.log(array);
//スプレッドシートに格納する準備として、配列array2にループを使ってarrayを二次元配列array2に格納する
let array2=[];
for(let i=0;i<N;i++){
array2.push([array[i]]);
}
//配列array2をログ出力
console.log(array2);
//スプレッドシートの黄色い所に格納する
ss.getRange(1,3,N).setValues(array2);
}宜しかったらコピペしてアレンジして見て下さい。
お疲れ様でした、ブレイクタイムフォトはこちらになります。
代々木公園の紫陽花
プログラミングのアンケートにご協力頂ける方はこちらのフォームで勉強法など色々と教えて下さい。
paiza レベルアップ問題集 「STEP: 1 改行区切りでの N 個の文字列の入力」をPythonとGASで解いてみた
この記事を読むことで、Pythonで標準入力とsplitメソッドを用いて、文字列の数と全ての文字列をループの中で出力することが可能になります。GASではスプレッドシートで値を取得して、二次元配列にして出力しています。
このコーナーでは、学習コンテンツpaizaラーニングのレベルアップ問題集をPythonとGASの両方で解いて全コードの解説をしています。
PythonとGASの両方のコードを用いて、全コード及び部分的にも可能な限り詳細に記載いたしました。
GASはスプレッドシートを使っています。
GASはGoogle Apps Scriptと言って、JavaScriptの文法をベースにしているので、JavaScriptの学習中の方にもお役立て出来るかも知れません。
paizaレベルアップ問題集でPythonとGASを解いて見たに戻る
メインメニューに戻る
Python自作サンプル
GASサンプル
基本情報技術者試験
問題を現在学習中のGASだったらどう解くのか、スプレッドシートでバインドして作ってみました。
改行区切りでの N 個の文字列の入力 (paizaランク D 相当)
問題:
1 行目に整数 N が与えられます。
2 行目以降に、N 個の文字列 s_1, … , s_N が N 行で与えられます。
s_1, … , s_N を改行区切りで出力してください。
ではまず、Pythonで解いてみます。
今回は、paiza.ioを使って解きます。paiza.ioの使い方はこちらから。
■ Pythonでの解き方 ■
手順として、
1:1行目の文字列の個数Nを標準入力で整数として取得する
2:2行目からN行間の文字列を出力する
の2ステップで行います。
今回は入出力例1を用います。
入力例1
5
hello
paiza
813
paiza2020
Nice
出力例1
hello
paiza
813
paiza2020
Nice
まず、準備として、paiza.ioにこのように入力します。
(入力例1 をコピペしたのみ)
下記のコードで入力と出力を行います。
#1行目の文字列の個数Nを標準入力で整数として取得する
N=int(input())
#2行目からN行間の文字列を出力する
for i in range(N):
string=input()
print(string)このコードの実行(出力)結果です。
Pythonは以上です。
次は、GASで解いて行きます。
■ GASでの解き方 ■
今度は、同じ問題をGASで解いてみます。
まず、スプレッドシートにこの様に配置しました。
緑色のセルに文字列の個数N=5、灰色の所出力するN個の文字列を入力しています。N個の文字列を黄色いセルに出力します。その際、この黄色いセルの所には、二次元配列として取得した整数が格納された配列を出力します。
※スプレッドシートに表示する場合は、二次元配列としての配列に追加をして作成します※
手順はこのようになります。
1:SpreadSheetAppから階層を辿って現在のシートにアクセスする
2:緑色のセルから文字列の数Nを取得
3:灰色のセルから文字列を配列arrayに取得
4:配列arrayをログ出力
5:スプレッドシートの黄色い所に格納する
手順1: SpreadSheetAppから階層を辿って現在のシートにアクセスする
const ss = SpreadsheetApp.getActiveSheet();
ここで定数ssにSpreadsheetAppから階層を辿ってアクティブシートにアクセスしています。
手順2:緑色のセルから文字列の数Nを取得
const N=ss.getRange(1,1).getValue();
手順3:灰色のセルから文字列を配列arrayに取得
const array=ss.getRange(2,1,N).getValues();
手順4:配列arrayをログ出力
console.log(array);
このログの画像より、既に二次元配列になっていることが分かります。
手順4:数字の数N個にarray[0]を代入する
const N=array[0];
手順5:スプレッドシートの黄色い所に格納する
ss.getRange(2,3,N).setValues(array);
実行後のスプレッドシートです。
GASでの全コードはこちらになります。
function standardInput29(){
//SpreadSheetAppから階層を辿って現在のシートにアクセスする
const ss=SpreadsheetApp.getActiveSheet();
//緑色のセルから文字列の数Nを取得
const N=ss.getRange(1,1).getValue();
//灰色のセルから文字列を配列arrayに取得
const array=ss.getRange(2,1,N).getValues();
//配列arrayをログ出力
console.log(array);
//スプレッドシートの黄色い所に格納する
ss.getRange(2,3,N).setValues(array);
}
宜しかったらコピペしてアレンジして見て下さい。
お疲れ様でした、ブレイクタイムフォトはこちらになります。
代々木公園で撮影した紫陽花
プログラミングのアンケートにご協力頂ける方はこちらのフォームで勉強法など色々と教えて下さい。
paiza レベルアップ問題集 「【N 個の整数の入力】1 行目で与えられる N 個の整数の入力 (large)」をPythonとGASで解いてみた
この記事を読むことで、Pythonで標準入力とsplitメソッドを用いて、数列の数と全ての数列をループの中で出力することが可能になります。GASではスプレッドシートで値を取得して、二次元配列にして出力しています。
このコーナーでは、学習コンテンツpaizaラーニングのレベルアップ問題集をPythonとGASの両方で解いて全コードの解説をしています。
PythonとGASの両方のコードを用いて、全コード及び部分的にも可能な限り詳細に記載いたしました。
GASはスプレッドシートを使っています。
GASはGoogle Apps Scriptと言って、JavaScriptの文法をベースにしているので、JavaScriptの学習中の方にもお役立て出来るかも知れません。
paizaレベルアップ問題集でPythonとGASを解いて見たに戻る
メインメニューに戻る
Python自作サンプル
GASサンプル
基本情報技術者試験
paizaでの解答はPythonで行いましたが、この記事ではPythonのコードと共に、同じ問題を現在学習中のGASだったらどう解くのか、スプレッドシートでバインドして作ってみました。
【N 個の整数の入力】1 行目で与えられる N 個の整数の入力 (large) (paizaランク D 相当)
問題:
1 行目で、整数 N と、続けて N 個の整数 a_1, … , a_N が半角スペース区切りで与えられます。
a_1, … , a_N を改行区切りで出力してください。
ではまず、Pythonで解いてみます。
今回は、paiza.ioを使って解きます。paiza.ioの使い方はこちらから。
■ Pythonでの解き方 ■
手順として、
1:1行目を標準入力でsplitメソッドを使ってリストarrayとして取得する
2:出力する整数の個数N=array[0]とする
3:リストarrayをarray[0]からarray[N]まで出力する
の3ステップで行います。
今回は入出力例1を用います。
入力例1
5 8 1 3 1 3
出力例1
8
1
3
1
3
まず、準備として、paiza.ioにこのように入力します。
(入力例1 をコピペしたのみ)
下記のコードで入力と出力を行います。
#1行目を標準入力でsplitメソッドを使ってリストarrayとして取得する
array=list(map(int,input().rstrip().split(' ')))
#出力する整数の個数N=array[0]とする
N=array[0]
#リストarrayをarray[0]からarray[N]まで出力する
for i in range(1,N+1):
print(array[i])
このコードの実行(出力)結果です。
Pythonは以上です。
次は、GASで解いて行きます。
■ GASでの解き方 ■
今度は、同じ問題をGASで解いてみます。
まず、スプレッドシートにこの様に配置しました。
灰色の所に出力する数字の個数N個(5)とN個の数字(8 1 3 1 3)を入力しています。N個の数字を黄色いセルに出力します。その際、この黄色いセルの所には、二次元配列として取得した整数が格納された配列を出力します。
※スプレッドシートに表示する場合は、二次元配列としての配列に追加をして作成します※
手順はこのようになります。
1:SpreadSheetAppから階層を辿って現在のシートにアクセスする
2:灰色のセルを配列arrayに取得
3:取得したarrayをログ出力
4:数字の数N個にarray[0]を代入する
5:array[1]からarray[N]まで、二次元配列array2にループで格納する
6:スプレッドシート格納前に二次元配列array2をログ出力する
7:スプレッドシートの黄色い所に格納する
手順1: SpreadSheetAppから階層を辿って現在のシートにアクセスする
const ss = SpreadsheetApp.getActiveSheet();
ここで定数ssにSpreadsheetAppから階層を辿ってアクティブシートにアクセスしています。
手順2:灰色のセルを配列arrayに取得
const array=ss.getRange(1,1).getValue().split(‘ ‘);
手順3:取得したarrayをログ出力
console.log(array);
手順4:数字の数N個にarray[0]を代入する
const N=array[0];
手順5:array[1]からarray[N]まで、二次元配列array2にループで格納する
//array[1]からarray[N]まで、二次元配列array2にループで格納する
let array2=[];
for(i=1;i<=N;i++){
array2.push([array[i]]);
}手順6:スプレッドシート格納前に二次元配列array2をログ出力する
console.log(array2);
手順7:スプレッドシートの黄色い所に格納する
ss.getRange(3,1,N).setValues(array2);
実行後のスプレッドシートです。
GASでの全コードはこちらになります。
function standardInput28(){
//SpreadSheetAppから階層を辿って現在のシートにアクセスする
const ss=SpreadsheetApp.getActiveSheet();
//灰色のセルを配列arrayに取得
const array=ss.getRange(1,1).getValue().split(' ');
//取得したarrayをログ出力
console.log(array);
//数字の数N個にarray[0]を代入する
const N=array[0];
//array[1]からarray[N]まで、二次元配列array2にループで格納する
let array2=[];
for(i=1;i<=N;i++){
array2.push([array[i]]);
}
//スプレッドシート格納前に二次元配列array2をログ出力する
console.log(array2);
//スプレッドシートの黄色い所に格納する
ss.getRange(3,1,N).setValues(array2);
}宜しかったらコピペしてアレンジして見て下さい。
お疲れ様でした、ブレイクタイムフォトはこちらになります。
大井競馬場メガイルミ
プログラミングのアンケートにご協力頂ける方はこちらのフォームで勉強法など色々と教えて下さい。
paiza レベルアップ問題集 「STEP: 4 2 行目で与えられる N 個の整数の入力 (large)」をPythonとGASで解いてみた
この記事を読むことで、Pythonで標準入力とsplitメソッドを用いて、数列の数と全ての数列をループの中で出力することが可能になります。GASではスプレッドシートで値を取得して、二次元配列にして出力しています。
このコーナーでは、学習コンテンツpaizaラーニングのレベルアップ問題集をPythonとGASの両方で解いて全コードの解説をしています。
PythonとGASの両方のコードを用いて、全コード及び部分的にも可能な限り詳細に記載いたしました。
GASはスプレッドシートを使っています。
GASはGoogle Apps Scriptと言って、JavaScriptの文法をベースにしているので、JavaScriptの学習中の方にもお役立て出来るかも知れません。
paizaレベルアップ問題集でPythonとGASを解いて見たに戻る
メインメニューに戻る
Python自作サンプル
GASサンプル
基本情報技術者試験
paizaでの解答はPythonで行いましたが、この記事ではPythonのコードと共に、同じ問題を現在学習中のGASだったらどう解くのか、スプレッドシートでバインドして作ってみました。
2 行目で与えられる N 個の整数の入力 (large) (paizaランク D 相当)
問題:
1 行目で整数 N が与えられます。
2 行目で、N 個の整数 a_1, … , a_N が半角スペース区切りで与えられます。
a_1, … , a_N を改行区切りで出力してください。
ではまず、Pythonで解いてみます。
今回は、paiza.ioを使って解きます。paiza.ioの使い方はこちらから。
■ Pythonでの解き方 ■
手順として、
1:1行目を標準入力で整数型Nとして取得する
2:2行目からN個分をリストarrayに取得
3:リストarrayをループで出力
の3ステップで行います。
今回は入出力例1を用います。
入力例1
5
8 1 3 10 100
出力例1
8
1
3
10
100
まず、準備として、paiza.ioにこのように入力します。
(入力例1 をコピペしたのみ)
下記のコードで入力と出力を行います。
#1行目を標準入力で整数型Nとして取得する
N=int(input())
#2行目からN個分をリストarrayに取得
array=list(map(int,input().rstrip().split(' ')))
#リストarrayをループで出力
for num in array:
print(num)このコードの実行(出力)結果です。
Pythonは以上です。
次は、GASで解いて行きます。
■ GASでの解き方 ■
今度は、同じ問題をGASで解いてみます。
まず、スプレッドシートにこの様に配置しました。
緑色のセルに数字の個数Nを、灰色の所のN個の数を取得し、それを黄色いセルに出力します。その際、この黄色いセルの所には、二次元配列として取得した整数が格納された配列を出力します。
※スプレッドシートに表示する場合は、二次元配列としての配列に追加をして作成します※
手順はこのようになります。
1:SpreadSheetAppから階層を辿って現在のシートにアクセスする
2:緑色と灰色のセルを二次元配列numとして取得
3:取得したnumをログ出力
4:num[0][0]を数字の個数Nに格納
5:num[1][0]にsplitメソッドを使って、配列arrayに格納
6:取得した配列arrayをログ出力する
7:配列arrayを二次元配列array2にループで格納
8:スプレッドシート格納前に二次元配列array2をログ出力する
9:スプレッドシートの黄色い所に格納する
手順1: SpreadSheetAppから階層を辿って現在のシートにアクセスする
const ss = SpreadsheetApp.getActiveSheet();
ここで定数ssにSpreadsheetAppから階層を辿ってアクティブシートにアクセスしています。
手順2:緑色と灰色のセルを二次元配列numとして取得
num=ss.getRange(1,1,2).getValues();
手順3:取得したnumをログ出力
console.log(num);
手順4:num[0][0]を数字の個数Nに格納
const N=num[0][0];
手順5:num[1][0]にsplitメソッドを使って、配列arrayに格納
const array=num[1][0].split(‘ ‘);
手順6:取得した配列arrayをログ出力する
console.log(array);
手順7:配列arrayを二次元配列array2にループで格納
//配列arrayを二次元配列array2にループで格納
let array2=[];
for(let i=0;i<N;i++){
array2.push([array[i]]);
}手順8:スプレッドシート格納前に二次元配列array2をログ出力する
console.log(array2);
手順9:スプレッドシートの黄色い所に格納する
ss.getRange(1,3,N).setValues(array2);
実行後のスプレッドシートです。
GASでの全コードはこちらになります。
function standardInput27(){
//SpreadSheetAppから階層を辿って現在のシートにアクセスする
const ss=SpreadsheetApp.getActiveSheet();
//緑色と灰色のセルを二次元配列numとして取得
num=ss.getRange(1,1,2).getValues();
//取得したnumをログ出力
console.log(num);
//num[0][0]を数字の個数Nに格納
const N=num[0][0];
//num[1][0]にsplitメソッドを使って、配列arrayに格納
const array=num[1][0].split(' ');
//取得した配列arrayをログ出力する
console.log(array);
//配列arrayを二次元配列array2にループで格納
let array2=[];
for(let i=0;i<N;i++){
array2.push([array[i]]);
}
//スプレッドシート格納前に二次元配列array2をログ出力する
console.log(array2);
//スプレッドシートの黄色い所に格納する
ss.getRange(1,3,N).setValues(array2);
}宜しかったらコピペしてアレンジして見て下さい。
お疲れ様でした、ブレイクタイムフォトはこちらになります。
よみうりランド、ジュエルミネーション
プログラミングのアンケートにご協力頂ける方はこちらのフォームで勉強法など色々と教えて下さい。
