카타 8급 Closest elevator

1 C[ | ]

const char* elevator(int left, int right, int call) {
  int L = left-call;
  int R = right-call;
  if( L < 0 ) L = -L;
  if( R < 0 ) R = -R;
  if( L < R ) return "left";
  return "right";
}
const char* elevator(int left, int right, int call) {
  return abs(call - left) < abs(call - right) ? "left" : "right";
}

2 C++[ | ]

char* elevator(int left, int right, int call) {
  int L = left-call;
  int R = right-call;
  if( L < 0 ) L = -L;
  if( R < 0 ) R = -R;
  if( L < R ) return "left";
  return "right";
}
#include <math.h>
char* elevator(int left, int right, int call) {
  return (abs(call-left) < abs(call-right)) ? "left" : "right";
}

3 Kotlin[ | ]

fun elevator(left: Int, right: Int, call: Int) = if (Math.abs(left-call) < Math.abs(right-call)) "left" else "right"
fun elevator(left: Int, right: Int, call: Int) = when {
    right == call -> "right"
    left == call -> "left"
    (Math.abs(left - call) < Math.abs(right - call)) -> "left"
    else -> "right"
}
fun elevator(left: Int, right: Int, call: Int) = when {
  right < left && left < call -> "left"
  call < left && left < right -> "left"
  left == call && right != call -> "left"
  else -> "right"
}

4 Python[ | ]

def elevator(left, right, call):
    if abs(left-call)<abs(right-call):
        return "left";
    return "right";
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}