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이라고 했을 때 ..
-
PROGRAMMERES Level 1 연습문제 정수 내림차순으로 배치하기(JAVA 자바)PROGRAMMERS/연습문제 2022. 8. 26. 16:50
import java.util.*; class Solution { public long solution(long n) { long answer = 0; //n 문자열로 만들어주기 String nstr = n + ""; //n을 배열로 String arr[] = nstr.split(""); // 내림차순 Arrays.sort(arr, Comparator.reverseOrder()); // join을 이용해서 배열을 문자열로 바꿔주고 Long.parseLong으로 String to long answer = Long.parseLong(String.join("", arr)); return answer; } } .split() -> String to StringArray String.join( , ) -> Str..