寝癖頭の解法

学習中の覚え書きを投稿、更新していきます。

paizaラーニング: Pythonによる「Bランクレベルアップメニュー」問題集: 文字と整数の組のソート2

paizaラーニングのレベルアップ問題集「Bランクレベルアップセット」からの出典です。
paiza.jp
Pythonによる「文字と整数の組のソート2」問題集と、それらの提出コードの解答例です。

僕が作成、提出したコードは、以下のとおりです。

・STEP: 1 インクリメント

'''
Pythonによる「Bランクレベルアップメニュー」問題集: 文字と整数の組のソート2
STEP: 1 インクリメント
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
'''
# coding: utf-8
n = int(input())
print(n+1)

・STEP: 2 重複の判定

'''
Pythonによる「Bランクレベルアップメニュー」問題集: 文字と整数の組のソート2
STEP: 2 重複の判定
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
'''
# coding: utf-8
lis1 = ["HND", "NRT", "KIX", "NGO", "NGO"]
lis2 = set(lis1)
if len(lis1) == len(lis2):
    print("false")
else:
    print("true")

・STEP: 3 配列(リスト)の重複カウント

'''
Pythonによる「Bランクレベルアップメニュー」問題集: 文字と整数の組のソート2
STEP: 3 配列(リスト)の重複カウント
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
'''
# coding: utf-8
lis1 = ["HND", "NRT", "KIX", "NGO", "NGO", "NGO", "NGO", "NGO"]
lis2 = set(lis1)
print(len(lis1) - len(lis2) + 1)

・STEP: 4 配列のソート

'''
Pythonによる「Bランクレベルアップメニュー」問題集: 文字と整数の組のソート2
STEP: 4 配列のソート
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
'''
# coding: utf-8
lis = [1, 3, 5, 6, 3, 2, 5, 23, 2]
lis.sort()
for i in lis:
    print(i)

・STEP: 5 数字のみの出力

'''
Pythonによる「Bランクレベルアップメニュー」問題集: 文字と整数の組のソート2
STEP: 5 数字のみの出力
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
'''
# coding: utf-8
n = int(input())
for i in range(n):
    a,b = input().split()
    print(b)

・STEP: 6 昇順ソート出力

'''
Pythonによる「Bランクレベルアップメニュー」問題集: 文字と整数の組のソート2
STEP: 6 昇順ソート出力
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
'''
# coding: utf-8
n = int(input())
lis = list(map(int, input().split()))
lis.sort()
for i in lis:
    print(i)

・FINAL問題: 文字と整数の組のソート2

'''
Pythonによる「Bランクレベルアップメニュー」問題集: 文字と整数の組のソート2
FINAL問題: 文字と整数の組のソート2
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
'''
# coding: utf-8
n = int(input())
dic = {}
for i in range(n):
    foo, bar = input().split()
    if foo in dic:
        dic[foo] = dic.get(foo) + int(bar)
    else:
        dic[foo] = int(bar)
lis = []       
for k, v in dic.items():
    tempo = []
    tempo.append(k)
    tempo.append(v)
    lis.append(tempo)
lis.sort(key=lambda x: x[1], reverse = True)
for i in range(len(lis)):
    print(lis[i][0], lis[i][1])

配列(リスト)、連想配列(辞書)、ソートなどについて理解を深める問題です。

paizaラーニングのレベルアップ問題集については、ユーザー同士で解答を教え合ったり、コードを公開したりするのは自由としています。
また授業や研修、教材などにも利用できるそうです。