function solution(score) {
var answer = [];
let array = [];
let aver = new Map();
for (let i=0;i<score.length;i++) {
array.push((score[i][0] + score[i][1]) / 2)
}
let arr = [...array];
arr.sort(function(a,b){
return b - a;
});
for (let i=0;i<arr.length;i++) {
aver.set(arr[i], i+1);
}
for (let i=0;i<array.length;i++) {
answer.push(aver.get(array[i]));
}
return answer;
}
arr 배열을 sorting 하는 과정에서 점수가 같을 때 문제가 발생했다.
예를 들어 2등이 두 명이면 1,2,2,4,5... 이런식이여야 하는데
1,3,3,4,5... 같이 되었다. 주말에 해결 예정
function solution(n) {
let x = 0;
for(let i = 1 ; i <= n ; i ++) {
x++;
while(x.toString().includes('3') || x%3 === 0) {
x++;
}
}
return x
}
function solution(polynomial) {
let arr = polynomial.split(' ');
let arrX = [];
let a = 0;
let b = 0;
let arrConstant = [];
for (let i=0;i<arr.length;i++) {
if (arr[i].toString().includes('x')) {
arrX.push(arr[i]);
} else if (arr[i].toString().includes('+')) {
continue;
} else {
arrConstant.push(arr[i]);
}
}
for (let i=0;i<arrX.length;i++) {
if (arrX[i] == 'x') {
a = a + Number(arrX[i].replace('x', '1'));
} else {
a = a + Number(arrX[i].replace('x', ''));
}
}
for (let i=0;i<arrConstant.length;i++) {
b = b + parseInt(arrConstant[i]);
}
if (a == 0 && b == 0) {
return(0);
} else if (a == 0 && b != 0) {
return(b);
} else if (a != 0 && b == 0) {
if (a == 1) {
return("x");
}
return(a+"x");
} else {
if (a == 1) {
return("x + "+b);
}
return(a+"x + "+b);
}
}
3개의 문제가 있는데 무엇인지 모르겠다. 더 많은 케이스 테스트로 실험해보거나 빠진 게 있는 지 확인 필요.
function solution(board) {
var answer = 0;
for (let i=0;i<board.length;i++) {
for (let j=0;j<board.length;j++) {
if (i==0&&j!=0&&j!=board.length-1) {
if (board[i][j-1]!=1&&board[i][j]!=1&&board[i][j+1]!=1&&board[i+1][j-1]!=1&&board[i+1][j]!=1&&board[i+1][j+1]!=1) {
answer++;
}
} else if (i==0&&j==0) {
if (board[i][j]!=1&&board[i][j+1]!=1&&board[i+1][j]!=1&&board[i+1][j+1]!=1) {
answer++;
}
} else if (i==0&&j==board.length-1) {
if (board[i][j-1]!=1&&board[i][j]!=1&&board[i+1][j-1]!=1&&board[i+1][j]!=1) {
answer++;
}
} else if (i==board.length-1&&j!=0&&j!=board.length-1) {
if (board[i-1][j-1]!=1&&board[i-1][j]!=1&&board[i-1][j+1]!=1&&board[i][j-1]!=1&&board[i][j]!=1&&board[i][j+1]!=1) {
answer++;
}
} else if (i==board.length-1&&j==0) {
if (board[i-1][j]!=1&&board[i-1][j+1]!=1&&board[i][j]!=1&&board[i][j+1]!=1) {
answer++;
}
} else if (i==board.length-1&&j==board.length-1) {
if (board[i-1][j-1]!=1&&board[i-1][j]!=1&&board[i][j-1]!=1&&board[i][j]!=1) {
answer++;
}
} else {
if (board[i-1][j-1]!=1&&board[i-1][j]!=1&&board[i-1][j+1]!=1&&board[i][j-1]!=1&&board[i][j]!=1&&board[i][j+1]!=1&&board[i+1][j-1]!=1&&board[i+1][j]!=1&&board[i+1][j+1]!=1) {
answer++;
}
}
}
}
return answer;
}
function solution(lines) {
let answer = 0;
let arr = new Array(201).fill(0);
for (let i=0;i<3;i++) {
for (let j=lines[i][0];j<lines[i][1];j++) {
arr[j]++;
}
}
for (let i in arr) {
if (arr[i] > 1) {
answer += 1;
}
}
if (lines[0][1]==lines[1][1]&&lines[1][1]==lines[2][1]) {
answer += 2;
}
if (lines[0][1]==lines[1][1]||lines[1][1]==lines[2][1]||lines[0][1]==lines[2][1]) {
answer += 1;
}
return answer;
}
테스트 케이스는 다 통과되나 실제 채점 결과에서는 오류가 많이 나왔다. 이유를 모르겠다..