y, x축의 값이 정수가 나타날 때의 간격이 일정하다는 것
제외해야할 칸의 개수가 각각의 정수 사이의 y, x거리의 합 -1이란 것을 알면 문제를 해결할 수 있다.
(단! 범위를 초과하여 ac를 못 받을 수 있으면 주의하자)
using namespace std;
long long solution(int w,int h)
{
long long answer = (long long)w * (long long)h;
int div = w > h ? h : w;
while(w % div != 0 || h % div != 0) {
div--;
}
answer = answer - (div * (w / div + h / div - 1));
return answer;
}
|
cs |
'problem solving' 카테고리의 다른 글
[프로그래머스]124나라의 숫자 (0) | 2020.03.06 |
---|---|
[프로그래머스]다리를 지나는 트럭 (0) | 2020.03.05 |
2186번: 문자판 (0) | 2020.03.05 |
2133번: 타일 채우기 (0) | 2020.03.05 |
2011번: 암호코드 (0) | 2020.03.05 |