문제 2016년 1월 1일은 금요일입니다.2016년 A월 B일은 무슨 요일일까요?두 수 A,B를 입력받아 A월 B일이 무슨 요일인지 출력하는 getDayName 함수를 완성하세요.요일의 이름은 일요일부터 토요일까지 각각 SUN, MON, TUE, WED, THU, FRI, SAT 를 출력해주면 됩니다. 예를 들어 A=5, B=24가 입력된다면 5월 24일은 화요일이므로 TUE를 반환하면 됩니다. 풀이(Java) class TryHelloWorld { public String getDayName(int a, int b) { String answer = ""; String[] week = {"FRI","SAT","SUN","MON","TUE","WED","THU"}; int[] month = {31,29,3..
문제 reverseInt 메소드는 int형 n을 매개변수로 입력받습니다.n에 나타나는 숫자를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를 들어 n이 118372면 873211 을 리턴하면 됩니다.n은 양의 정수 입니다. 풀이(Java) public class ReverseInt { public int reverseInt(int n){ String numStr = String.valueOf(n); int [] arr = new int[numStr.length()]; int temp = 0; int result = 0; for(int i=0; i
문제 소수 찾기 - Level2 numberOfPrime 메소드는 정수 n을 매개변수로 입력받습니다. 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하도록 numberOfPrime 메소드를 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 10을 입력받았다면, 1부터 10사이의 소수는 [2,3,5,7] 4개가 존재하므로 4를 반환 5를 입력 받았다면, 1부터 5사이의 소수는 [2,3,5] 3개가 존재하므로 3을 반환 풀이(Java) class NumOfPrime { int numberOfPrime(int n) { int result = 0; // 함수를 완성하세요. for(int i=2; i
문제 콜라즈 추측 - Level2 1937년 Collatz란 사람에 의해 제기된 이 추측은 입력된 수가 짝수라면 2로 나누고, 홀수라면 3을 곱하고 1을 더한 다음, 결과로 나온 수에 같은 작업이 1이 될 때까지 반복할 경우 모든 수가 1이 된다는 추측입니다. 예를 들어, 입력된 수가 6이라면 6→3→10→5→16→8→4→2→1 이 되어 총 8번 만에 1이 됩니다.collatz 함수를 만들어 입력된 수가 몇 번 만에 1이 되는지 반환해 주세요.단, 500번을 반복해도 1이 되지 않는다면 -1을 반환해 주세요. 풀이(Java) public class Collatz { public int collatz(int num) { int answer = 0; int count = 0; while(count < 500..
문제 최솟값 만들기 - Level2 자연수로 이루어진 길이가 같은 수열 A, B가 있습니다.최솟값을 만들기는 A, B에서 각각 한개의 숫자를 뽑아 두 수를 곱한 값을 누적하여 더합니다.이러한 과정을 수열의 길이만큼 반복하여 최종적으로 누적된 값이 최소가 되도록 만드는 것이 목표입니다. 예를 들어, A = [1, 2], B = [3, 4] 라면 1. A에서 1, B에서 4를 뽑아 곱하여 더합니다.2. A에서 2, B에서 3을 뽑아 곱하여 더합니다. 수열의 길이 만큼 반복하여 최솟값 10을 얻을 수 있으며, 이 10이 최솟값이 됩니다.수열 A, B가 주어질 때, 최솟값을 반환해주는 getMinSum 함수를 완성하세요. 풀이(Java)import java.util.Arrays; class TryHelloWor..
문제 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어, 18의 자릿수 합은 1+8 = 9 이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. #HarshadHarshad 함수는 양의 정수 n을 매개변수로 입력받습니다.이 n이 하샤드수 인지 아닌지 판단하는 함수를 완성하세요. 예를 들어, n이 10, 12, 18이면 True를 리턴 11, 13 이면 False를 리턴하면 됩니다. 풀이(Java) public class HarshadNumber{ public boolean isHarshad(int num){ int a,b,c,d; int result = 0; if(num/10 >= 10) { a = num/100; b = num%100; c = b/10; ..
문제 수박수박수박수박수박수? - Level1 water_melon 함수는 정수 n을 매개변수로 입력받습니다. 길이가 n이고, 수박수박수...와 같은 패턴을 유지하는 문자열을 리턴하도록 함수를 완성하세요. 예를 들어, n이 4이면 '수박수박'을 리턴하고 3이라면 '수박수'를 리턴하면 됩니다. 풀이(Java) public class WaterMelon { public String watermelon(int n){ String watermelon = ""; for(int i=0; i
문제 서울에서 김서방 찾기 - Level1 findKim 함수(메소드)는 String형 배열 seoul을 매개변수로 받습니다. seoul의 element 중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다. 풀이(Java)public class FindKim { public String findKim(String[] seoul){ //x에 김서방의 위치를 저장하세요. int x = 0; for(int i=0; i < seoul.length; i++){ if(seoul[i] == "Kim"){ x=i; } } return "김서방은 "+ x + "에 있다"; } // 실행을 위한 테스트코..
문제 스트링을 숫자로 바꾸기 - Level1 strToInt 메소드는 String형 str을 매개변수로 받습니다.str을 숫자로 변환한 결과를 반환하도록 strToInt를 완성하세요. 예를 들어, str이 "1234"이면 1234를 반환하고, "-1234"이면 -1234를 반환하면 됩니다.str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없습니다. 풀이(Java)public class StrToInt { public int getStrToInt(String str) { int result = Integer.parseInt(str); return result; } //아래는 테스트로 출력해 보기 위한 코드입니다. public static void main(String args[..
문제 문자열 내림차순으로 배치하기 - Level1 reverseStr 메소드는 String형 변수 str을 매개변수로 입력받습니다.str에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 String을 리턴해주세요.str는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자 보다 작은 것으로 간주합니다.예를 들어, str이 "Zbcdefg"면 "gredcbZ"을 리턴하면 됩니다. 풀이(Java)import java.util.Arrays; public class ReverseStr { public String reverseStr(String str){ char[] res = str.toCharArray(); Arrays.sort(res); return new StringBuilder(new String..