[プログラマー]ダーツゲーム
2265 ワード
こんにちは
やってみろMINDOLだ
「これは国ですか」
来週はもっと暑いと聞いて、もう怒っています.
夕立も書いてありますが太陽はまだ毒です
(ここまで暑くなったら雨でしょう)
最近家でギターサークルをオンラインで指導しています
会って指導したいのですが、状況が手伝ってくれません.
7月だけど会えなかったメンバーが多かったのが本当に悲しかった.
でも距離があるから仕方ない
雑談はここまでで,今日は問題を見る.
質問リンク
ダーツゲーム
(お客様のIDが到着しました)
コードでダーツゲームの採点ロジックを実現すればいい!
ダーツゲームは全部で3回、
結果は「スコア+加算+オプション」として与えられます.
整理する
「#」オプションが表示された場合は、スコアを負に設定します.
文字と条件を順番に比較し、リストに値を入力または置換すればよい.
ではPythonコードを直接見てみましょう
def solution(dartResult):
score = [0] * 3 # 점수를 담을 리스트
i = -1
for idx in range(len(dartResult)):
if dartResult[idx].isdigit(): # 만약 숫자면
if idx > 0 and dartResult[idx - 1] == '1': # 숫자가 10이면
score[i] *= 10
else : # 숫자가 10이 아니면
i += 1
score[i] = int(dartResult[idx])
elif dartResult[idx] == 'D': # 보너스 'D'
score[i] = score[i]**2
elif dartResult[idx] == 'T': # 보너스 'T'
score[i] = score[i]**3
elif dartResult[idx] == '*': # 옵션 '*'
score[i] *= 2
if i > 0: # 이전 점수가 있으면
score[i - 1] *= 2
elif dartResult[idx] == '#': # 옵션 '#'
score[i] *= -1
return sum(score)
オプション「*」を選択すると、以前のスコアが変更されます.以前のスコアをリストに保存する必要があることに気づいたらすぐに解ける質問です~~
どうですか.簡単ですね.
いいえ...
最近、私は毎日プログラマーたちに問題を宣伝するように努力しています.
多く解くのもいいですが、自分でコードを書く能力を養うことも大切だと思います.
コードを再表示して位置決めすると、改善が見つかり、再包装されます.
最終的には実力向上に役立ちます~
でも思ったより時間があったので1日1つだけ
いくつか解けると一つしか上がらない選択基準は同日解決された最初の問題だ.
最近一人で勉强するのは少しむなしいです...42のクラスタが恋しいです.
早くコロナを静かにして、クラスタを再開してほしい...!
それでは今日のポスターはここまでにしましょう今、今
こんにちは!
Reference
この問題について([プログラマー]ダーツゲーム), 我々は、より多くの情報をここで見つけました
https://velog.io/@minskim2/프로그래머스-다트-게임
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Reference
この問題について([プログラマー]ダーツゲーム), 我々は、より多くの情報をここで見つけました https://velog.io/@minskim2/프로그래머스-다트-게임テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol