BOJ 18406ラッキーストレート


https://www.acmicpc.net/problem/18406
1秒、256 MBメモリ
input :
  • N (10 ≤ N ≤ 99,999,999)
  • output :
  • の1行目に「LUCKY」があれば「READY」が出力される.
    条件:

  • 特定の条件とは、現在のキャラクタのスコアがNの場合、スコアNが小数点以下を基準にして2つに分割され、左小数点以下の和が右小数点以下の和に加算された値と同じ場合です.

  • 分数Nのビット数は常に偶数で与えられる.
  • どうせ数の長さは偶数なので、これらの数を中間点に分けてmap関数で整数形式にしてsum()関数を使います.
    import sys
    
    n = sys.stdin.readline().rstrip()
    middle = len(n) // 2
    left, right = map(int, n[:middle]), map(int, n[middle:])
    
    print("LUCKY" if sum(left) == sum(right) else "READY")