重複の削除 (paizaランク D 相当) 

今回のpaizaラーニングの問題は、重複するデータの削除問題です。模範解答では「set」関数を用いてデータを集合として扱い、重複するデータを瞬時に削除するスマートなものでした。

しかし筆者は、「set」関数を知らなかったので、自分で工夫して解いてみました。

# coding: utf-8
# 自分の得意な言語で
# Let's チャレンジ!!
#input_line = input()
s=[int(x) for x in "1 3 5 1 2 3 6 6 5 1 4".split()]

s.sort()

for i in range(1,len(s)):
    if s[i-1]!=s[i]:
        print(s[i-1])
    elif i==len(s)-1:
        print(s[i])

示されたデータをソートし、もしソート後の配列の中で、1つ前のデータと現在のデータが同じなら、1つ前のデータを出力する、配列の位置が配列の大きさと同じになったら、現在の位置の配列データを出力する、としました。

データそのものは、削除されたわけではありませんんが、重複データは表示しないようにしたつもりです。

「set」関数便利ですね!これから活用していきたいと思います。