반응형
6. 몫 구하기
class Solution {
public int solution(int num1, int num2) {
int answer = 0;
if((num1 > 0 && num1 <=100) && (num2 > 0 && num2 <=100)){
answer = num1 / num2;
}
return answer;
}
}
<작성한 코드>
num1, num2의 범위를 우선적으로 설정해주었고 만족시 answer에 몫을 집어넣고 리턴해주었다.
7. 두 수의 나눗셈
class Solution {
public int solution(int num1, int num2) {
int answer = 0;
double result;
if((num1 > 0 && num1 <= 100) && (num2 > 0 && num2 <= 100)){
result = (double)num1 / num2;
answer = (int)(result * 1000);
}
return answer;
}
}
<작성한 코드>
num1, num2의 범위를 지정해주었고, 먼저 double형 변수 result에 num1/num2 를 한 몫을 double형으로 저장해줬다. 그 후 answer에 다시 result에 1000을 곱한값을 정수형으로 대입해주고 리턴해주었다.
8. 숫자 비교하기
class Solution {
public int solution(int num1, int num2) {
int answer = 0;
if((num1 >= 0 && num1 <= 10000) && (num2 >= 0 && num2 <= 10000)){
if(num1 == num2){
answer = 1;
} else {
answer = -1;
}
}
return answer;
}
}
<작성한 코드>
num1, num2의 범위를 먼저 지정해주었다. 그 후 num1과 num2가 같은수면 answer에 1대입, 다르면 answer에 -1 대입을하고 answer값을 리턴해주었다.
9. 분수의 덧셈
class Solution {
public int[] solution(int numer1, int denom1, int numer2, int denom2) {
int[] answer = new int[2];
if(numer1 > 0 && numer1 < 1000 &&
denom1 > 0 && denom1 < 1000 &&
numer2 > 0 && numer2 < 1000 &&
denom2 > 0 && denom2 < 1000){
int numer = (numer1 * denom2) + (numer2 * denom1);
int denom = denom1 * denom2;
for(int i=numer-1; i>1; i--) {
if(numer % i == 0 && denom % i == 0) {
numer /= i;
denom /= i;
}
}
answer[0] = numer;
answer[1] = denom;
}
return answer;
}
}
<작성한 코드>
먼저 예외사항을 if안에 입력해주었다. 그 후 number안에 (분자1*분모2) + (분자2*분모1)을 계산해 넣어주었다. demon에는 두 분모의 곱을 대입해 주었다.
그 후 for문으로 분자와 분모가 모두 나머지가 0인 수를 발견하면 각 분모 분자를 그 수로 나눠준뒤 몫을 저장하도록 하여 기약분수로 만들어 주었다. 마지막으로 answer배열안에 numer, denom을 넣어주고 리턴하였다.
처음에 중간에 for문을 int i=2; i<=numer; i++로 하였는데 어느부분에서 오류가 떴다. 자세히 생각해보니 분모 분자가 1일 경우도 있다는것을 생각하지못했다. 그래서 i는 numer-1부터 시작해주고 1씩 줄여가며 실행하였다. 레벨0 문제인데 생각보다 오래걸렸다.
반응형
'프로그래머스 문제풀이 > 알고리즘 (JAVA)' 카테고리의 다른 글
[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 0 (20~24번 문제풀이) (0) | 2023.09.20 |
---|---|
[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 0 (14~19번 문제풀이) (0) | 2023.09.20 |
[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 0 (10~13번 문제풀이) (0) | 2023.09.13 |
[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 0 (1~5번 문제풀이) (0) | 2023.06.07 |
[JAVA] 프로그래머스 알고리즘 문제풀이 - 준비하며 (0) | 2023.06.07 |
남건욱's 공부기록