본문 바로가기

코딩테스트/자바 Level 176

[Java] 최대공약수와 최소공배수 문제 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다. 제한 사항 두 수는 1이상 1000000 이하의 자연수입니다. class Solution { public int[] solution(int n, int m) { int[] answer = {1, n * m}; while(n % m != 0) { int r = n % m; n = m; m = r; } answer[0] = m; answer[1] = answer[1] / m; return answe.. 2023. 8. 2.
[Java] 짝수와 홀수 문제 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한사항 num은 int 범위의 정수입니다. 0은 짝수입니다. class Solution { public String solution(int num) { return (num % 2 == 0) ? "Even" : "Odd"; } } 출처 https://school.programmers.co.kr/learn/courses/30/lessons/12937 2023. 8. 2.
[Java] 제일 작은 수 제거하기 문제 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다. 제한사항 arr은 길이 1 이상인 배열입니다. 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다. import java.util.Arrays; class Solution { public int[] solution(int[] arr) { int minNum = arr[0]; for(int num : arr) { minNum = Math.min(minNum, num); } int[] ans.. 2023. 8. 2.
[Java] 정수 제곱근 판별 문제 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. 제한사항 n은 1이상, 50000000000000 이하인 양의 정수입니다. class Solution { public long solution(long n) { long answer = 0; double nSqrt = Math.sqrt(n); answer = (nSqrt % 1 == 0) ? (long)Math.pow(nSqrt+1, 2) : -1; return answer; } } long 타입으로 명시적 형변환이 필요함을 주의해야 한다. 출처 https://school.pro.. 2023. 8. 2.