코딩테스트

20250314

불닭냠냠 2025. 3. 15. 00:03

달리기 경주

// 달리기 경주
function solution(players, callings) {
  for (let name of callings) {
    let rating = players.indexOf(name);
    if (rating > 0) {
      [players[rating - 1], players[rating]] = [players[rating],players[rating - 1]];
    }
  }
  return players;
}

// 아쉬운점 : 테스트 10~13 시간초과로 실패함

function solution(players, callings) {
  let playerIndex = {};
  for (let i = 0; i < players.length; i++) {
    playerIndex[players[i]] = i;
  }

  for (let name of callings) {
    let idx = playerIndex[name];
    let prevName = players[idx - 1];

    players[idx] = prevName;
    players[idx - 1] = name;

    playerIndex[name] = idx - 1;
    playerIndex[prevName] = idx;
  }

  return players;
}

 

간단한 식 계산하기

// 긴단한 식 계산하기
function solution(binomial) {
  const [a, op, b] = binomial.split(" ");

  const num1 = parseInt(a);
  const num2 = parseInt(b);

  if (op === "+") {
    return num1 + num2;
  } else if (op === "-") {
    return num1 - num2;
  } else if (op === "*") {
    return num1 * num2;
  }
}

 


달리기 경주에서 첫 번째 방법이 더 깔끔하다고 생각을 했지만, 시간초과로 실패하였다...ㅎ

'코딩테스트' 카테고리의 다른 글

20250316  (0) 2025.03.16
20250315  (0) 2025.03.16
20250313  (0) 2025.03.14
20250312  (0) 2025.03.13
20250311  (3) 2025.03.11