코딩테스트
프로그래머스[Level 1] - 정수 제곱근 판별 (java)
- 문제 설명 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. - 제한 사항 n은 1이상, 50000000000000 이하인 양의 정수입니다. -나의 풀이 class Solution { public long solution(long n) { long answer = 0; while(answer * answer < n){ answer++; } if(answer * answer == n){ answer++; answer*=answer; }else{ answer = -1; } return answer; } } n이 어떤 수의 제곱인지 알..
프로그래머스[Level 1] - 평균 구하기 (java)
- 문제 설명 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. - 제한사항 arr은 길이 1 이상, 100 이하인 배열입니다. arr의 원소는 -10,000 이상 10,000 이하인 정수입니다. -나의 풀이 class Solution { public double solution(int[] arr) { double answer = 0; for(int i = 0; i < arr.length; i++){ answer+=arr[i]; } answer /= arr.length; return answer; } } arr에 있는 값을 반복문을 통해 answer에 값을 더 했고..
프로그래머스[Level 1] - 자릿수 더하기 (java)
- 문제 설명 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. - 제한사항 N의 범위 : 100,000,000 이하의 자연수 - 나의 풀이 import java.util.*; public class Solution { public int solution(int n) { int answer = 0; String str = String.valueOf(n); for(int i = 0; i < str.length(); i++){ answer += Integer.parseInt(String.valueOf(str.charAt(i))); } return answer; } } ..
프로그래머스[Level 1] - 나머지가 1이 되는 수 찾기 (java)
- 문제 설명 자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. - 제한 조건 3 ≤ n ≤ 1,000,000 - 나의 풀이 class Solution { public int solution(int n) { int answer = 1; boolean loof = true; while(loof){ if(n%answer != 1){ answer++; // n % answer != 1일 때 }else{ loof = false; // n % answer == 1일 때 } } return answer; } } n을 x로 나눈 나머지 값이 1인 가장 작은 수, x를 ..