코딩 테스트를 문제를 풀이하는 과정에서 많은 어려움이 있었다.
일단. 변수를 선언할때는 구체적인 이름으로 변수를 선언해야 그 코드가 지칭하는바를 정확히 알 수 있다.
function solution(sizes) {
let biggerSideMax = 0;
let smallerSideMax = 0;
for문과 if문의 활용하여 파라미터로 넘어오는 변수들로 함수를 만들었다.
그 과정에서 배열의 형태로 넘어오는 변수들 때문에 코드를 짜는데 애를 먹었다.
for (let i = 0; i < sizes.length; i++) {
// sizes의 변수들을 반복문으로 돌려준다.
if (sizes[i][0] > sizes[i][1]) {
if (sizes[i][0] > biggerSideMax) {
biggerSideMax = sizes[i][0];
}
// sizes 원소 중 큰값이 긴 변에 해당하고
그 값이 긴변의최대값 보다 크면 큰변의맥스값으로 할당한다.
if (sizes[i][1] > smallerSideMax) {
smallerSideMax = sizes[i][1];
}
// sizes 원소 중 작은값이 작은 변에 해당하고
그 값이 작은변의최대값 보다 크면 작은변의 맥스값으로 할당한다.
} else {
if (sizes[i][1] > biggerSideMax) {
biggerSideMax = sizes[i][1];
}
if (sizes[i][0] > smallerSideMax) {
smallerSideMax = sizes[i][0];
}
}
}
return biggerSideMax * smallerSideMax;
매개변수가 배열일 때도 하나하나 대입해서 생각해보면
그리 어렵지 않은 걸 알 수 있었다.
오랜시간 고민하여 이해를 할 수 있어서 좋았다.