前提・実現したいこと
Python3 (3.4.3)でABC082のB問題を解いています。(https://atcoder.jp/contests/abc082/tasks/abc082_b)
以下のソースコードの様な形での実装を試みたのですが、上手くいきませんでした。
該当のソースコード
Python3
1s = input() 2s1 = sorted(s) 3s2 = input() 4 5 6ans = 0 7ans2 = 0 8 9 10 11for i in s2: 12 if s == s2: 13 break 14 if s1[0] < i: 15 ans = ans + 1 16 for k in range(0,len(s1)): 17 if s1[k] < i: 18 ans2 = ans2 + 1 19 20if ans != 0 and ans2 != 0: 21 print("Yes") 22else: 23 print("No") 24
結果
試したこと
この問題を見た時に大まかに以下の方針を立てて実装しました。
<文字列sをアルファベット順にソートする>→<s2を一文字ずつ読み込み、文字列sよりもアルファベット順で後になる文字があるか探索する>
しかし、結果を見ると何問か<WA>があり、自分のコードではどのようなパターンに対応できないか分かりません。
直接的な回答でなくても、実装漏れしている例などを教えて頂ければ幸いです。
AtCoderは他人の回答を見られますよ。
他人の回答をみて勉強するといいです。
回答ありがとうございます。
他のAC回答例で解法的には納得できたのですが、自分の描いたコードがなぜACにならないのかが分からないので質問した次第です。
ACの一覧をざっとスキミングはしてみましたが、自分と似たような方法でACしている人はいませんでした。
何をどう処理しようとしているのか、さっぱり理解できません。
入力例3がエラーになっているので、なぜ結果が違うのか処理を追ってみてはいかがですか?
python -m pdb スクリプトファイル名
で実行するとデバッグできます。
step または s でステップ実行、print 変数名 または p 変数名で変数の内容を確認できます。
list と入力すればソースコードが表示されます。
https://docs.python.org/ja/3/library/pdb.html
すいません、コピペするコードとスクリーンショットを間違えていました。
不等号部分が"<="ではなく、"<" でした
入力に
a
aa
を与えてみてはいかがですか?
等号 "<" "<= を変えた際の、テストケースに関しての精査が甘かったです。ご指摘ありがとうございました。
回答1件
あなたの回答
tips
プレビュー