質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

410閲覧

競プロでのエラー 初心者 配列

MycoChild

総合スコア36

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/06/07 18:52

N個の整数からなる空ではない配列Aが与えられる。配列には奇数個の要素が含まれ、配列の各要素は、ペアにならない1つの要素を除いて、同じ値を持つ別の要素とペアにすることができます。

N個の整数からなる配列Aが与えられたとき, 対になっていない要素の値を返す関数は?

という問題で以下のように回答したところ

Python

1def solution(A): 2 t=sorted(A) 3 for i in range(0,len(A)-3,2): 4 if t[i]!=t[i+1]: 5 return A[A.index(t[i])] 6 return A[len(A)-1]

2ケースほど通らないです。何がいけないのか教えていただきたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

このコードでNGの代表例は [1,2,2]です。[1,2,3,4,5,4,3,2,1]も通りません。

  • forを回す回数が1回足らない。探索する配列の要素が残り3の時点で終了してしまいます。

range関数は、第1引数以上第2引数未満の値しかとりません。
なので、例えばrange(0,6,2)が作る集合は[0,2,4]までです。6は含みません。

  • forの中で解が見つからなった場合のreturnの式が間違っている。何が間違っているかはよく目を凝らしてみればわかるでしょう。

投稿2021/06/07 19:33

編集2021/06/07 19:35
hope_mucci

総合スコア4447

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

MycoChild

2021/06/07 20:24 編集

ありがとうございます。 ``` def solution(A): # write your code in Python 3.6 t=sorted(A) for i in range(0,len(A)-1,2): if t[i]!=t[i+1]: return A[A.index(t[i])] return A[A.index(t[len(A)-1])] ``` で通りました!
MycoChild

2021/06/07 20:26

あれ、コメントではコード挿入できないのですね
hope_mucci

2021/06/08 05:01

おめでとうございます! 仰る通りコメントではMarkdownは使えません。他の方に参考にしてほしいのであれば通ったコードを本文を編集して追加すると良いでしょう。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問