매일 매일 하루 한 문제씩.
꾸준히 이어가는 코딩테스트 풀이 기록 ✅
오늘도 기록용 시간초과 코드.
주말에 해결해야 할 코딩테스트가 산더미이구나~ 하하.
자바스크립트로도 버거워서 며칠 째 자바는 손도 못대고 있는 것 같다.
안그래도 자바 까먹는 것 때문에 좀 스트레스 받고 있는데...
그렇다고 하루 몇시간동안 코테를 잡고 있을 수도 없으므로!!!!
후.. 속상한 마음이지만 우선 고 한다.
며칠 째 계속 풀어내지 못하는 것 때문에 마음이 많이 꺾여있는데 그래도 어떻게든 해봐야겠다는 생각에 당연히 시간초과가 날 것 같아도 우선 되는 코드를 만들어보려 했다. 17개 케이스 중에 6개 정도 시간 초과가 난 코드.
// 시간 초과 코드(6개 테스트 통과 못함)
function solution(weights) {
let answer = 0;
const sortedArray = weights.sort((a, b) => a - b);
for (let i = 0; i < sortedArray.length; i += 1) {
const current = sortedArray[i];
const next = sortedArray[i + 1];
if (!next) {
break;
}
for (let j = i + 1; j < sortedArray.length; j += 1) {
if (current * 2 === sortedArray[j] * 2) {
answer += 1;
continue;
}
if (current * 2 === sortedArray[j] * 3) {
answer += 1;
continue;
}
if (current * 2 === sortedArray[j] * 4) {
answer += 1;
continue;
}
if (current * 3 === sortedArray[j] * 2) {
answer += 1;
continue;
}
if (current * 3 === sortedArray[j] * 3) {
answer += 1;
continue;
}
if (current * 3 === sortedArray[j] * 4) {
answer += 1;
continue;
}
if (current * 4 === sortedArray[j] * 2) {
answer += 1;
continue;
}
if (current * 4 === sortedArray[j] * 3) {
answer += 1;
continue;
}
if (current * 4 === sortedArray[j] * 4) {
answer += 1;
}
}
}
return answer;
}
정말 말 그대로 모든 케이스들을 다 조건문으로 걸러주었다.
이렇게라도 한번은... 풀어내고 싶었던 마음이랄까..ㅋㅋㅋㅋ 후.
알고리즘 책이나 주문하려 가련다..