【paiza問題集】「標準入力その6」をPythonとGASの両方で解いたコード紹介リンク集

■ 標準入力メニュー6 ■

改行区切りでの N 個の整数の入力 Python3編

2 行目で与えられる N 個の整数の入力 Python3編

1 行目で与えられる N 個の整数の入力 Python3編

2 行目で与えられる N 個の整数の入力 (large) Python3編

【N 個の整数の入力】1 行目で与えられる N 個の整数の入力 (large) Python3編

paiza問題集のPythonとGASのコード紹介へ戻る
初めてのGASへ戻る


自己紹介へ

【paiza問題集】「標準入力その5」をPythonとGASの両方で解いたコード紹介リンク集

■ 標準入力メニュー5 ■

1 つの整数の入力 Python3編


2 つの整数の半角スペース区切りの入力 Python3編

5 つの整数の半角スペース区切りの入力 Python3編

10 個の整数の半角スペース区切りの入力 Python3編

【整数の半角スペース区切りの入力】1,000個の整数の半角スペース区切りの入力 Python3編

paiza問題集のPythonとGASのコード紹介へ戻る
初めてのGASへ戻る


自己紹介へ

【paiza問題集】「標準入力その4」をPythonとGASの両方で解いたコード紹介リンク集

■ 標準入力メニュー4 ■

1 行の整数の入力 Python3編

2 行の整数の入力 Python3編

5 行の整数の入力 Python3編

100 行の整数の入力 Python3編

【整数の行入力】1,000行の整数の入力 Python3編

paiza問題集のPythonとGASのコード紹介へ戻る
初めてのGASへ戻る


自己紹介へ

【paiza問題集】「標準入力その3」をPythonとGASの両方で解いたコード紹介リンク集

このコーナーでは、プログラミング学習コンテンツのpaizaラーニングのレベルアップ問題集の同じ問題をPythonとGAS(Google Apps Script)で解いたコードを掲載しております。

■ 標準入力メニュー3 ■

1 つの入力 Python3編

半角スペース区切りの 2 つの入力 Python3編

半角スペース区切りの 3 つの入力 Python3編

半角スペース区切りの 10 個の入力 Python3編

【半角スペース区切りの入力】半角スペース区切りの 1,000 個の入力 Python3編

paiza問題集のPythonとGASのコード紹介へ戻る
初めてのGASへ戻る


自己紹介へ

【paiza問題集】「標準入力その2」をPythonとGASの両方で解いたコード紹介リンク集

このコーナーでは、プログラミング学習コンテンツのpaizaラーニングのレベルアップ問題集の同じ問題をPythonとGAS(Google Apps Script)で解いたコードを掲載しております。

■ 標準入力メニュー2 ■

2 つの文字列の半角スペース区切りでの分割 Python3編

3 つの文字列の半角スペース区切りでの分割 Python3編


【半角スペース区切りでの文字列の分割】5 つの文字列の半角スペース区切りでの分割 Python3編

paiza問題集のPythonとGASのコード紹介へ戻る
初めてのGASへ戻る


自己紹介へ

【paiza問題集】「標準入力その1」をPythonとGASの両方で解いたコード紹介リンク集

このコーナーでは、プログラミング学習コンテンツのpaizaラーニングのレベルアップ問題集の同じ問題をPythonとGAS(Google Apps Script)で解いたコードを掲載しております。

1 行の入力 Python3編

2 行の入力 Python3編

3 行の入力 Python3編

10 行の入力 Python3編

【行入力】1,000 行の入力 Python3編

paiza問題集のPythonとGASのコード紹介へ戻る
初めてのGASへ戻る


自己紹介へ

paiza レベルアップ問題集 標準入力6「【N 個の整数の入力】1 行目で与えられる N 個の整数の入力 (large)」をPythonとGASで解いてみた

この記事を読むことで、Pythonで標準入力とsplitメソッドを用いて、数列の数と全ての数列をループの中で出力することが可能になります。GASではスプレッドシートで値を取得して、二次元配列にして出力しています。

このコーナーでは、学習コンテンツpaizaラーニングレベルアップ問題集をPythonとGASの両方で解いて全コードの解説をしています。
PythonとGASの両方のコードを用いて、全コード及び部分的にも可能な限り詳細に記載いたしました。

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);
  
}

宜しかったらコピペしてアレンジして見て下さい。
お疲れ様でした、ブレイクタイムフォトはこちらになります。

奥多摩、東京都檜原村にある「払沢の滝」

←前の問題へ          標準入力その7→

paiza レベルアップ問題集 標準入力その6「STEP: 4 2 行目で与えられる N 個の整数の入力 (large)」をPythonとGASの両方で解いたコードを紹介

この記事を読むことで、Pythonで標準入力とsplitメソッドを用いて、数列の数と全ての数列をループの中で出力することが可能になります。GASではスプレッドシートで値を取得して、二次元配列にして出力しています。

このコーナーでは、学習コンテンツpaizaラーニングレベルアップ問題集をPythonとGASの両方で解いて全コードの解説をしています。
PythonとGASの両方のコードを用いて、全コード及び部分的にも可能な限り詳細に記載いたしました。

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);
  
}

宜しかったらコピペしてアレンジして見て下さい。
お疲れ様でした、ブレイクタイムフォトはこちらになります。

よみうりランド、ジュエルミネーション

←前の問題へ          次の問題へ→

ご精読有難うございました。

■ GASの入門書の紹介です ■

詳解! Google Apps Script完全入門 [第3版]
単行本
Kindle版(電子書籍)

■ 関連記事 ■

paizaレベルアップ問題集「標準入力6」へ戻る
paizaレベルアップ問題集_PythonとGASのコード紹介トップページへ

写真クリエイターとしての活動
自己紹介

paiza レベルアップ問題集 標準入力その6「STEP: 3 1 行目で与えられる N 個の整数の入力」をPythonとGASの両方で解いたコードの紹介

この記事を読むことで、Pythonで標準入力とsplitメソッドを用いて、数列の数と全ての数列をループの中で出力することが可能になります。GASではスプレッドシートで値を取得して、二次元配列にして出力しています。

このコーナーでは、学習コンテンツpaizaラーニングレベルアップ問題集をPythonとGASの両方で解いて全コードの解説をしています。
PythonとGASの両方のコードを用いて、全コード及び部分的にも可能な限り詳細に記載いたしました。

GASはスプレッドシートを使っています。

1 行目で与えられる N 個の整数の入力 (paizaランク D 相当)

問題:
1 行目で、整数 N と、続けて N 個の整数 a_1, … , a_N が半角スペース区切りで与えられます。
a_1, … , a_N を改行区切りで出力してください。

ではまず、Pythonで解いてみます。

今回は、paiza.ioを使って解きます。paiza.ioの使い方はこちらから。

■ Pythonでの解き方 ■

手順として、

1:1行目を標準入力でリストとして取得する
2:リストの先頭添字0を要素数Nとする
3:リストの2番目添字1から添字Nまでをループで出力

の3ステップで行います。

今回は入出力例1を用います。

入力例1
13 5085 2923 8669 3231 7032 73 2683 8317 5545 9774 7179 2646 2470

出力例1
5085
2923
8669
3231
7032
73
2683
8317
5545
9774
7179
2646
2470

まず、準備として、paiza.ioにこのように入力します。
(入力例1 をコピペしたのみ)

下記のコードで入力と出力を行います。

#1行分をリストとして取得
array=list(map(int,input().split(' ')))

#数列の個数Nを取得
N=array[0]

#数列をループで取得
for i in range(1,N+1):
    print(array[i])

このコードの実行(出力)結果です。

Pythonは以上です。

次は、GASで解いて行きます。

■ GASでの解き方 ■

今度は、同じ問題をGASで解いてみます。
まず、スプレッドシートにこの様に配置しました。

灰色の所の数列を取得し、それを黄色いセルに出力します。その際、この黄色いセルの所には、二次元配列として取得した整数が格納された配列を出力します。

※スプレッドシートに表示する場合は、二次元配列としての配列に追加をして作成します※

手順はこのようになります。

1:SpreadSheetAppから階層を辿って現在のシートにアクセスする
2:灰色のセルの数列の個数と数列をsplitメソッドを用いて配列として取得
3:取得した配列arrayをログ出力する
4:配列の先頭の要素0を要素数Nに代入する
5:配列の2番目から最後の要素を二次元配列array2に格納する
6:スプレッドシート格納前に二次元配列をログ出力する
7:スプレッドシートの黄色い所に格納する

手順1: SpreadSheetAppから階層を辿って現在のシートにアクセスする

const ss = SpreadsheetApp.getActiveSheet();

ここで定数ssにSpreadsheetAppから階層を辿ってアクティブシートにアクセスしています。

手順2:灰色のセルの数列の個数と数列をsplitメソッドを用いて配列として取得

array=ss.getRange(1,1).getValue().split(‘ ‘);

手順3:取得した配列arrayをログ出力する

console.log(array);

手順4:配列の先頭の要素0を要素数Nに代入する

const N=array[0];

手順5:配列の2番目から最後の要素を二次元配列array2に格納する

//配列の2番目から最後の要素を二次元配列array2に格納する
  let array2=[];
  for(let i=1;i<=N;i++){
    array2.push([array[i]]);
  }

手順6:スプレッドシート格納前に二次元配列をログ出力する

console.log(array2);

手順7:スプレッドシートの黄色い所に格納する

ss.getRange(1,3,N).setValues(array2);

実行後のスプレッドシートです。

GASでの全コードはこちらになります。

function standardInput26(){

  //SpreadSheetAppから階層を辿って現在のシートにアクセスする
  const ss=SpreadsheetApp.getActiveSheet();

  //灰色のセルの数列の個数と数列をsplitメソッドを用いて配列として取得
  array=ss.getRange(1,1).getValue().split(' ');

  //取得した配列arrayをログ出力する
  console.log(array);

  //配列の先頭の要素0を要素数Nに代入する
  const N=array[0];

  //配列の2番目から最後の要素を二次元配列array2に格納する
  let array2=[];
  for(let i=1;i<=N;i++){
    array2.push([array[i]]);
  }

  //スプレッドシート格納前に二次元配列をログ出力する
  console.log(array2);

  //スプレッドシートの黄色い所に格納する
  ss.getRange(1,3,N).setValues(array2);

}

宜しかったらコピペしてアレンジして見て下さい。
お疲れ様でした、ブレイクタイムフォトはこちらになります。

横浜みなとみらい、ランドマークタワーの夜景と観覧車

←前の問題へ          次の問題へ→

ご精読有難うございました。

■ GASの入門書の紹介です ■

詳解! Google Apps Script完全入門 [第3版]
単行本
Kindle版(電子書籍)

■ 関連記事 ■

paizaレベルアップ問題集「標準入力6」へ戻る
paizaレベルアップ問題集_PythonとGASのコード紹介トップページへ

写真クリエイターとしての活動
自己紹介

paiza レベルアップ問題集 標準入力その6「STEP: 2 2 行目で与えられる N 個の整数の入力」をPythonとGASの両方で解いたコードを紹介

この記事を読むことで、Pythonで標準入力とsplitメソッドを用いて、数列の数と全ての数列をループの中で出力することが可能になります。GASではスプレッドシートで値を取得して、二次元配列にして出力しています。

このコーナーでは、学習コンテンツpaizaラーニングレベルアップ問題集をPythonとGASの両方で解いて全コードの解説をしています。
PythonとGASの両方のコードを用いて、全コード及び部分的にも可能な限り詳細に記載いたしました。

GASはスプレッドシートを使っています。

2 行目で与えられる N 個の整数の入力 (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行目は標準入力とsplitメソッドを使い、リストにN個全ての整数格納する
3:格納したリストの要素を出力する

の3ステップで行います。

今回は入出力例1を用います。

入力例1
6
6561 3785 6338 9568 4956 557

出力例1
6561
3785
6338
9568
4956
557

まず、準備として、paiza.ioにこのように入力します。
(入力例1 をコピペしたのみ)

下記のコードで入力と出力を行います。

#数値の個数
N=int(input())

# N個の数値をリストに格納
array=list(map(int,input().split(' ')))

for num in array:
    print(num)

このコードの実行(出力)結果です。

Pythonは以上です。

次は、GASで解いて行きます。

■ GASでの解き方 ■

今度は、同じ問題をGASで解いてみます。
まず、スプレッドシートにこの様に配置しました。

緑色のセルに入力した数列の個数を取得して、灰色の所の数列を取得し、それを黄色いセルに出力します。その際、この黄色いセルの所には、二次元配列として取得した整数が格納された配列を出力します。

※スプレッドシートに表示する場合は、二次元配列としての配列に追加をして作成します※

手順はこのようになります。

1:SpreadSheetAppから階層を辿って現在のシートにアクセスする
2:緑のセルにある数列の個数Nを取得
3:灰色のセル1列をsplitメソッドで空白による分割をして配列arrayに取得
4:取得したarrayをログ出力する
5:スプレッドシートに格納するため、二次元配列array2に格納する
6:スプレッドシート格納前に二次元配列をログ出力する
7:スプレッドシートの黄色い所に格納する

手順1: SpreadSheetAppから階層を辿って現在のシートにアクセスする

const ss = SpreadsheetApp.getActiveSheet();

ここで定数ssにSpreadsheetAppから階層を辿ってアクティブシートにアクセスしています。

手順2:緑のセルにある数列の個数Nを取得

const N=ss.getRange(1,1).getValue();

手順3:灰色のセル1列をsplitメソッドで空白による分割をして配列arrayに取得

const array=ss.getRange(2,1).getValue().split(‘ ‘);

手順4:取得したarrayをログ出力する

console.log(array);

手順5:スプレッドシートに格納するため、二次元配列array2に格納する

//スプレッドシートに格納するため、二次元配列array2に格納する
  array2=[];
  for(let i=0;i<array.length;i++){
    array2.push([array[i]]);
  }

手順6:スプレッドシート格納前に二次元配列をログ出力する

console.log(array2);

手順7:スプレッドシートの黄色い所に格納する

ss.getRange(4,1,N).setValues(array2);

実行後のスプレッドシートです。

GASでの全コードはこちらになります。

function standardInput25(){

  //SpreadSheetAppから階層を辿って現在のシートにアクセスする
  const ss=SpreadsheetApp.getActiveSheet();

  //緑のセルにある数列の個数Nを取得
  const N=ss.getRange(1,1).getValue();

  //灰色のセル1列をsplitメソッドで空白による分割をして配列arrayに取得
  const array=ss.getRange(2,1).getValue().split(' ');

  //取得したarrayをログ出力する
  console.log(array);

  //スプレッドシートに格納するため、二次元配列array2に格納する
  array2=[];
  for(let i=0;i<array.length;i++){
    array2.push([array[i]]);
  }

  //スプレッドシート格納前に二次元配列をログ出力する
  console.log(array2);

  //スプレッドシートの黄色い所に格納する
  ss.getRange(4,1,N).setValues(array2);

}

宜しかったらコピペしてアレンジして見て下さい。
お疲れ様でした、ブレイクタイムフォトはこちらになります。

いたばし花火大会(東京都板橋区)

←前の問題へ          次の問題へ→

ご精読有難うございました。

■ GASの入門書の紹介です ■

詳解! Google Apps Script完全入門 [第3版]
単行本
Kindle版(電子書籍)

■ 関連記事 ■

paizaレベルアップ問題集「標準入力6」へ戻る
paizaレベルアップ問題集_PythonとGASのコード紹介トップページへ

写真クリエイターとしての活動
自己紹介