https://school.programmers.co.kr/learn/courses/30/lessons/62048
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
기울기를 구하고 한 칸당 몇개의 사각형을 지나는지 구하기
w 개의 칸을 구하기 x, 기울기 분모의 크기만큼 구하기 ex) h: 12 w: 8이면 기울기 3/2 , 사이즈 2까지만 구하고 x 4
=> 실패..
총 사각형을 몇개를 지나는지 구하는 것이 어려웠다.
그냥 w + h -1을 하면 되었다.. 어차피 가로로 w개 세로로 w개 가로 질러 가야하고 출발지가 겹치니까 -1..
그리고 w*h 앞에 long long 캐스팅을 해줘야했다..
#include<iostream>
using namespace std;
long long solution(int w,int h) {
if(w>h)//항상 h>w
{
int tmp=w;
w=h;
h=tmp;
}
long long size =(long long)w*h;
long long a=w,b=h;
for(int i=w;i>1;i--)
{
if(a%i==0 && b%i==0)
{
a/=i;b/=i;
}
}
//cout<<a<<endl;
long long m = a+b-1;
long long t=w/a;
long long answer=size - m * t;
return answer;
}
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 배달 c++ (0) | 2023.04.01 |
---|---|
[프로그래머스] 행렬 테두리 회전하기 (0) | 2023.03.24 |
[프로그래머스] 괄호변환 c++ (0) | 2023.02.24 |
[프로그래머스] 오픈채팅방 c++ (0) | 2023.02.17 |
[프로그래머스] 전화번호 목록 c++ (0) | 2023.02.17 |