본문 바로가기
개발/문제풀이

문제풀이)프로그래머스)c#) 카펫

by 테샤르 2020. 8. 27.

카펫

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

 

코딩테스트 연습 - 카펫

Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 ��

programmers.co.kr

Brown의 블럭이 Yellow의 블럭을 감싸고 있는 형태의 데이터로 만들어야 하는 문제이다.

이 문제를 잘 활용하면 벽을 생성할 수 있을 듯 한 문제로

핵심은 Brown 블럭 + Yellow 블럭의 합을 가지고 약수를 구한다. 이때 가로가 세로보다 커다란 조건으로 인해서 

약수를 구하는 과정을 1~ total 값이 아닌 절반까지만 반복해서 width, height를 구한다.

값을 만든 것들 중에서 Yellow의 블럭의 개수가 = (width -2) * (height -2)를 만족하는 데이터를 리턴한다.

Yellow 블럭은 항상 감싸져 있어야 하기 때문에 양옆, 위아래를 제외해서 계산해야 한다.

 

 

 ★

 

반응형

댓글