목록알고리즘 (21)
개인공부
자릿수 더하기 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항N의 범위 : 100,000,000 이하의 자연수 예9 + 8 + 7 = 24이므로 24를 return 하면 됩니다. import java.util.*; public class Solution {public int solution(int n) {int answer = 0; String num = String.valueOf(n);String arr[] = num.split("");for(int i=0; i
소수 찾기 numberOfPrime 메소드는 정수 n을 매개변수로 입력받습니다. 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하도록 numberOfPrime 메소드를 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다.(1은 소수가 아닙니다.) 10을 입력받았다면, 1부터 10 사이의 소수는 [2,3,5,7] 4개가 존재하므로 4를 반환5를 입력받았다면, 1부터 5 사이의 소수는 [2,3,5] 3개가 존재하므로 3를 반환 import java.util.ArrayList;class NumOfPrime {int numberOfPrime(int n) {int result = 0;// 함수를 완성하세요. ArrayList arr = new ArrayList();for(int i=2..
알고리즘 - 콜라츠 추측 1937년 Collatz란 사람에 의해 제기된 이 추측은, 입력된 수가 짝수라면 2로 나누고, 홀수라면 3을 곱하고 1을 더한 다음, 결과로 나온 수에 같은 작업을 1이 될 때까지 반복할 경우 모든 수가 1이 된다는 추측입니다. 예를 들어, 입력된 수가 6이라면 6→3→10→5→16→8→4→2→1 이 되어 총 8번 만에 1이 됩니다. collatz 함수를 만들어 입력된 수가 몇 번 만에 1이 되는지 반환해 주세요. 단, 500번을 반복해도 1이 되지 않는다면 –1을 반환해 주세요. class Collatz {public int collatz(int num) {int answer = 0; for(int i=0; i
알고리즘 - 수박수박수박수 water_melon함수는 정수 n을 매개변수로 입력받습니다. 길이가 n이고, 수박수박수...와 같은 패턴을 유지하는 문자열을 리턴하도록 함수를 완성하세요.예를들어 n이 4이면 '수박수박'을 리턴하고 3이라면 '수박수'를 리턴하면 됩니다. public class WaterMelon {public String watermelon(int n){ String result = ""; for(int num=0; num
알고리즘 - 정수 내림차순으로 배치하기 reverseInt 메소드는 int형 n을 매개변수로 입력받습니다. n에 나타나는 숫자를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. n은 양의 정수입니다. import java.text.ParseException;import java.util.Arrays;import java.util.Collections; public class ReverseInt {public int reverseInt(int n){ String num = String.valueOf(n);String[] arr = num.split("");Arrays.sort(arr);Collections.reverse(Arrays.as..
양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. Harshad함수는 양의 정수 n을 매개변수로 입력받습니다. 이 n이 하샤드수인지 아닌지 판단하는 함수를 완성하세요. 예를들어 n이 10, 12, 18이면 True를 리턴 11, 13이면 False를 리턴하면 됩니다. public class HarshadNumber{public boolean isHarshad(int num){String str = String.valueOf(num);int n1 = Integer.parseInt(str.substring(0,1));int n2 = Integer.parseInt(str.substr..
함수를 완성해서 매개변수 array의 평균값을 return하도록 만들어 보세요. 어떠한 크기의 array가 와도 평균값을 구할 수 있어야 합니다. public class GetMean { public int getMean(int[] array) { int result = 0; for(int n=0; n
printTriangle 메소드는 양의 정수 num을 매개변수로 입력받습니다.다음을 참고해 *(별)로 높이가 num인 삼각형을 문자열로 리턴하는 printTriangle 메소드를 완성하세요printTriangle이 return하는 String은 개행문자('\n')로 끝나야 합니다. 높이가 3일때 ******높이가 5일때 *************** public class PrintTriangle {public String printTriangle(int num){ String answer ="";for(int i=0; i
getMiddle메소드는 하나의 단어를 입력 받습니다. 단어를 입력 받아서 가운데 글자를 반환하도록 getMiddle메소드를 만들어 보세요. 단어의 길이가 짝수일경우 가운데 두글자를 반환하면 됩니다. 예를들어 입력받은 단어가 power이라면 w를 반환하면 되고, 입력받은 단어가 test라면 es를 반환하면 됩니다. class StringExercise{ String getMiddle(String word){ String result = ""; if(word.length() % 2 == 0 ){ int n = word.length() / 2; result = word.substring(n-1,n+1); }else{ int n = word.length() / 2; result = word.substring(..
reverseStr 메소드는 String형 변수 str을 매개변수로 입력받습니다. str에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 String을 리턴해주세요. str는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 예를들어 str이 Zbcdefg면 gfedcbZ을 리턴하면 됩니다. import java.util.Arrays;import java.util.Collections; public class ReverseStr {public String reverseStr(String str){ String arr[] = str.split(""); Arrays.sort(arr); Collections.reverse(Arrays.asList(arr)); return S..