티스토리 뷰
1. 문제
https://programmers.co.kr/learn/courses/30/lessons/62048
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
2. 설명
int 범위 때문에 화날뻔한 문제
★ int -> long 변환할 때, java는 그냥 아래와 같이 넣어줘도 변환 가능하다.
문제 자체의 알고리즘 식은 모르겠어서 참고해서 풀었습니다.
w * h - ( w + h - 최대공약수 ) 라고 합니다.
w랑 h의 범위가 1억까지라서 long으로 변환해서 넣어줘야 됨.
3. 코드
class Solution {
public long solution(int w,int h) {
long answer = 1;
long lw = w; // long 변환
long lh = h;
if(lw >= lh)
answer = lw * lh - (lw + lh - gcd(lw,lh));
else
answer = lw * lh - (lw + lh - gcd(lh,lw));
return answer;
}
// 최대공약수
long gcd(long big, long small) {
while(small > 0) {
long temp = big % small;
big = small;
small = temp;
}
return big;
}
}
'알고리즘 풀이 > 프로그래머스' 카테고리의 다른 글
프로그래머스 괄호 변환 JAVA (0) | 2020.05.04 |
---|---|
프로그래머스 카카오프렌즈 컬러링북 JAVA (DFS) (0) | 2020.05.04 |
프로그래머스 스킬트리 JAVA (0) | 2020.05.02 |
프로그래머스 실패율 JAVA (0) | 2020.04.30 |
프로그래머스 예산 JAVA (0) | 2020.04.30 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday