Python


コード行3120題リンク
🐒 リモートコントロール
コンピュータールームで授業を受ける情報先生は冷暖房機の温度を調節しなければならない.
冷暖房機は遠く離れていて、リモコンで操作したいのですが、リモコンの温度制御ボタンは以下の通りです.
1)温度を1度上げるボタン
2)温度を1度下げるボタン
3)温度を5度上げるボタン
4)温度を5度下げるボタン
5)温度を10度上げるボタン
6)温度を10度下げるボタン
これにより、目標温度を調整するには、合計6つのボタンが必要です.
現在の設定温度と変更するターゲット温度が指定されている場合は、これらのボタンを使用してターゲット温度に変更します.
このときボタンを押す最小回数を求める.
たとえば、7度を34度に変更します.
7 -> 17 -> 27 -> 32 -> 33 -> 34
これで全部で5回押せばいいです

  • 現在の温度aと目標温度bを入力します.( 0 <= a , b <= 40 )

  • 最小のボタンを使用して、目標温度に達したボタンの回数を出力します.
  • 入力例
    7 34
    
    出力例
    5
    
    私の草
    a, b = map(int,input().split())
    
    temp = abs(b - a)
    
    count = 0
    while temp != 0:
        settinglist = []
        for i in [10, 5, 1]: 
            x = temp - i
            settinglist.append(abs(x))
        temp = min(settinglist)
        
        count += 1
    
    print(count)
    
    2時間25分に及ぶ問題.
    少し緩んだようですが、緩んでいないので、傲慢になりました.
    そもそも解けない問題をずっとつかんでいるのはよくない.😹
    最初は、おつりの問題のように、なんとか値段を10、5、1の順番に分けて数えましたが、問題が発生しました.(ここまでは解き始めの15分くらいだったかな)
    たとえば、10~6
    -4回はできるけど
    -5+1なら2回で終わりです.
    上記の方法では後者を計算できない.
    だから私は絶対値の考えを思いついた.
    Googleで割引関数abs()関数を検索します.(組み込み関数)
    a, b = map(int,input().split())
    
    temp = abs(b - a) 	#입력된 두 값 사이의 거리를 temp에 저장
    
    count = 0			#리모컨 조작 횟수
    while temp != 0: 	#두 값의 거리가 0이 될 때까지 반복
        settinglist = [] 
        for i in [10, 5, 1]: #거리를 구하고있으니 양수버튼 하나씩만 쓴다
            x = temp - i 	# 조작하고나서의 위치를 x에 저장
            settinglist.append(abs(x)) 	# x의 절댓값 추가
        temp = min(settinglist) #거리가 가장 짧은 요소를 temp에 대입
        
        count += 1
    
    print(count)
    min関数を使用して最短距離の要素のみを選択し、距離が0の場合、重複文を終了します.
    どうやって解いたのか整理してみましたが、ここまでくると、多分精神が錯乱していました.
    後で解いてみます.