整数列 A1,A2,…,AN が与えられたときに、これらが互いに異なるかどうかを判定する問題です。
方法を2つ紹介します。
- 重複を削除して長さを調べる
- 整数列をソートして同じものがあるか調べる
提出
n = int(input())
a = list(map(int, input().split()))
a_set = set(a)
if len(a) == len(a_set):
print("YES")
else:
print("NO")
set() を用いて、重複するものを削除したあと、する前と後での整数列の長さを調べると解くことができます。
提出
n = int(input())
a = list(map(int, input().split()))
a.sort()
for i in range(n - 1):
if a[i] == a[i + 1]:
print("NO")
exit(0)
print("YES")
整数列をソートし、for文を用いて、1つ後ろの整数と同じかどうかを調べていきます。
1つでも同じものがあれば「NO」になります。
余談ですが、私は1回間違えて、出力を「Yes」「No」にしてしまいましたw