[프로그래머스] 카펫(javascript)

프린이·2020년 11월 25일
1

  • 제 코드는 최선의 방안은 아닙니다.
  • 단순히 기록용, 공유용이니 이 점 보실 때, 참고바랍니다!

🔗 문제 링크

https://programmers.co.kr/learn/courses/30/lessons/42842

📙 내가 생각한 풀이 과정

  • 조건
    1) 가로가 세로보다 길어야 한다.
    2) 노란색은 중앙에 있고 갈색은 이를 두르고 있다
    3) 2)와 같이 되기 위해선 갈색 격자 수는 가로 X 2 + (세로-2) X 2여야 한다.
  • 세로에서 -2해주는 이유는 가로에서 구한 영역과 겹치기 때문!!

📝 답안 코드

function solution(brown, yellow) {
    var total = brown + yellow;
    for(var i = 1; i <= total; i++){
        if((total%i) == 0){
            var vert = i;
            var horizontal = Number.parseInt(total/vert);
            if(vert >=  horizontal && (vert*2)+(horizontal-2)*2 == brown)
                return [vert, horizontal];
        }
        
    }
}

🟡 느낀 점

  • 처음엔 조건을 가로가 세로보다 크면 된다는 점만 생각해서 실행했을 때, 오류가 났었다.
  • 앞으론 문제를 꼼꼼히 읽으며 조건을 잘 확인해야겠다고 생각하게 되었다.
profile
주니어 프론트엔드개발자

1개의 댓글

comment-user-thumbnail
2020년 12월 2일

잘 보고 갑니다.람쥐

답글 달기