달리기 경주
// 달리기 경주
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;
}
}
달리기 경주에서 첫 번째 방법이 더 깔끔하다고 생각을 했지만, 시간초과로 실패하였다...ㅎ