PROGRAMMERS
-
PROGRAMMERES Level 1 연습문제 하샤드 수 (JAVA 자바)PROGRAMMERS/연습문제 2022. 8. 30. 16:53
class Solution { public boolean solution(int x) { int num = x; int sum = 0; while(num!=0){ sum += num%10; num = num/10; } if(x%sum==0) { boolean answer = true; return answer; } else { boolean answer = false; return answer; } } }
-
PROGRAMMERES Level 1 연습문제 콜라츠 추측 (JAVA 자바)PROGRAMMERS/연습문제 2022. 8. 30. 01:46
class Solution { public int solution(int num) { int answer = 0; // 3번예제같은 경우 오버플로우 발생하기 때문에 형변환 long longNum = num; // 1일 경우 처리 if(num==1) return answer; //1이 될 때까지 while(longNum!=1){ if(longNum%2==0) { longNum /= 2; } else { longNum = longNum*3 + 1; } answer++; //500넘어가면 종료 if(answer>=500) { answer = -1; break; } } return answer; } } 3번 예제같은 경우의 오버플로우를 생각해서 형변환을 해줘야 하는 점이 중요
-
PROGRAMMERES Level 1 연습문제 최대공약수와 최소공배수 (JAVA 자바)PROGRAMMERS/연습문제 2022. 8. 30. 01:22
import java.util.*; class Solution { public int[] solution(int n, int m) { int answer[] = new int[2]; int maxNum = Math.max(n,m); int minNum = Math.min(n,m); //최대공약수 while(minNum!=0){ int r = maxNum % minNum; maxNum = minNum; minNum = r; } answer[0] = maxNum; // 최소공배수는 n과 m을 최대공약수로 나누어주고 곱해주면 된다. answer[1] = n*m / maxNum; return answer; } } 두 정수 a, b(a>b)가 있을 때 a를 b로 나누었을 때의 나머지(a%b)를 r이라고 했을 때 ..