실력 향상 일지 45

[Java] 정수 제곱근 판별

문제 설명 및 입출력 예시 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 한다. n이 양의 정수 x의 제곱이라면 x + 1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아닐경우 -1을 리턴하는 함수를 완성해라 제한사항 = n은 1이상, 50000000000000 이하인 양의 정수입니다. 입출력 예 n return 121 144 3 -1 1. 121은 양의 정수 11의 제곱이므로 (11 + 1)^2인 144를 리턴 2. 3은 양의 정수의 제곱이 아니므로 -1을 리턴 코드 & 풀이과정 본문내용넣기 첫 번째로 제곱인지 아닌지를 판단할 수 있는 방법을 생각해봤다. 그랬더니 생각나는 건 Math클래스였다. Math클래스를 이용하면 제곱근을 구할 수 있기 때문에 손쉽게 문제를..

[Java] 평균 구하기

문제 설명 및 입출력 예시 정수를 담고 있는 배열 arr의 평균값을 return하는 함수 solution을 완성해 보세요. 입출력 예 arr return [1,2,3,4] 2.5 [5,5] 5 코드 & 풀이과정 문제 자체에 배열이라는 단어가 나와 조금 당황했다. 하지만 문제에 메인은 배열과는 딱히 상관이 없었고 어떤식으로 진행해봐야 할지 생각을 곰곰히 해보았다. 1. 먼저 배열 0부터 n까지 들어있는 값을 모두 더한다. 2. 평균값을 return해야하므로 모두 더한 값에 배열의 길이(length)를 나눠주면 될 것 같다. 3. 0부터 n까지 돌리려면 for문으로 돌려줘야 할 성 싶다. 따라서 나온 코드는 이렇게 진행되었다. public double solution(int[] arr){ double ans..

[Java] 약수의 합

문제 설명 및 입출력 예시 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. n return 12 28 5 6 제한사항 - n은 0 이상 3000이하인 정수 입출력 예 설명 - 12의 약수 = 1,2,3,4,6,12 따라서 다 더하면 28 5의 약수 = 1,5 따라서 다 더하면 6 코드 & 풀이과정 public static int Solution(int n){ int answer = 0; for (int i = 1; i

[Java] 짝수와 홀수

문제 설명 및 입출력 예시 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성하라 입출력 예시 num return 3 "Odd" 4 "Even" 코드 & 풀이과정 public String solution(int num) { if(num % 2 == 0){ return "Even"; } else{ return "Odd"; } } 굉장히 심플한 풀이였다. num의 나머지를 2로 구했을때 안남는다면 짝수 아니라면 홀수기 때문이다. 회고 나는 저정도면 상당히 코드를 잘짰다고 생각을 했다. 일단 첫번째로 군더더기가 없었고 두번째로 굉장히 깔끔하게 보였기 때문이다. 하지만 이 쉬운 문제를 똑똑이들 아니 똑똑한 사람들은 내가 쓴 몇줄을 단 한 줄로 확 줄..

[Java] 자릿수 더하기

몇년만에 다시 알고리즘을 풀기 시작하면서 오랜만에 두뇌회전을 할 수 있게 만들어준 문제이다. 입출력 예시 및 설명 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. N answer 123 6 987 24 1번은 문제의 예시와 같다. 2번은 9 + 8 +7 이므로 24가 도출된다. 코드 & 풀이과정 public static int solution(int n) { int answer = 0; while(n>0){ // System.out.println(n/10); // System.out.println(n%10); answer += n%10; n /= 10; } Sys..