- 발행일
99클럽 코테 스터디 25일차 TIL + 오늘의 학습 키워드: 완전 탐색
99클럽 코테 스터디 25일차 TIL + 오늘의 학습 키워드: 완전 탐색
이 글은 네이버 블로그에 2025년 3월 7일에 올렸던 것을 그대로 옮겨온 것입니다.
- 공부한 내용 본인의 언어로 정리하기
function solution(dice) {
let answer = 0;
let pair = new Array(7);
pair[1] = 6;
pair[2] = 4;
pair[3] = 5;
pair[4] = 2;
pair[5] = 3;
pair[6] = 1;
for (let i = 1; i <= 6; i++) {
let sum = 0;
let sideMax = 0;
for (let j = 1; j <= 6; j++) {
if (j != dice[0][i - 1] && j != dice[0][pair[i] - 1]) {
sideMax = Math.max(sideMax, j);
}
}
sum += sideMax;
let x = dice[0][i - 1];
let idx = 0;
for (let k = 2; k <= dice.length; k++) {
sideMax = 0;
for (let l = 1; l <= 6; l++) {
if (dice[k - 1][l - 1] === x) {
idx = l;
break;
}
}
let top = dice[k - 1][pair[idx] - 1];
let bottom = x;
for (let m = 1; m <= 6; m++) {
if (m != top && m != bottom) sideMax = Math.max(sideMax, m);
}
sum += sideMax;
x = top;
}
answer = Math.max(answer, sum);
}
return answer;
}
const fs = require('fs');
const filePath = process.platform === 'linux' ? '/dev/stdin' : 'input.txt';
let input = fs.readFileSync(filePath).toString().trim().split('\n');
let dice = [];
input.slice(1).map((i) => dice.push(i.split(' ').map(Number)));
console.log(solution(dice));
오늘의 회고
어떤 문제가 있었고, 나는 어떤 시도를 했는지
어떻게 해결했는지
무엇을 새롭게 알았는지
내일 학습할 것은 무엇인지
• 비기너: https://school.programmers.co.kr/learn/courses/30/lessons/42626 (30분)
• 미들러: https://www.acmicpc.net/problem/2116 (1시간 30분)
• 챌린저: https://www.acmicpc.net/problem/2169 (1시간 15분) 비기너(힙) / 이중우선순위큐 : https://school.programmers.co.kr/learn/courses/30/lessons/42628
미들러 / 오목 : https://www.acmicpc.net/problem/2615
챌린저(카카오 블라인드 채용) / 표 병합 : https://school.programmers.co.kr/learn/courses/30/lessons/150366
필수 해시태그: #99클럽 #코딩테스트준비 #개발자취업 #항해99 #TIL
