
1. 문제 2016년 1월 1일은 금요일입니다. 2016년 a월 b 인 무슨 요일일까요? 두 수 a , b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN, MON, TUE, WED, THU, FRI, SAT입니다. 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 "TUE"를 반환하세요. 제한 사항 2016년은 윤년입니다. 2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일 같은 날짜는 주어지지 않습니다) 입력 출력 예시 풀어보기 public String solution(int a, int b) { String[] weekOfDays = {"FRI","SAT","SU..

1. 문제 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상됩니다. 놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 return 하도록 solution 함수를 완성하세요. 단, 금액이 부족하지 않으면 0을 return 하세요. 제한 사항 놀이기구의 이용료 price : 1 ≤ price ≤ 2,500, price는 자연수 처음 가지고 있던 금액 money : 1 ≤ money ≤ 1,000,000,000, money는 자연수 놀이기구의 이용 횟수 c..

1. 문제 함수 solution은 정수 x와 자연수 n을 입력받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. 제한 사항 x는 -10000000 이상, 10000000 이하인 정수입니다. n은 1000 이하인 자연수입니다. 입력 출력 예시 풀어보기 public long[] solution(int x, int n) { long[] answer = new long[n]; int multiple = 1; for (int i=0; i x+x -> x+x+x 이런 식으로 증가, x*1-> x*2, ->x*3와 같기 때문에 x에 반복을 돌며 1부터 하나씩 증가한 수를 곱해주면 해당 값이 나온다. long..

1. 문제 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요. 제한 사항 absolutes의 길이는 1 이상 1,000 이하입니다. absolutes의 모든 수는 각각 1 이상 1,000 이하입니다. signs의 길이는 absolutes의 길이와 같습니다. signs [i]가 참이면 absolutes [i]의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미합니다. 입력 출력 예시 풀어보기 public int solution(int[] absolutes, boolean[] signs) { int an..

1. 문제 0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. 제한 조건 1 ≤ numbers의 길이 ≤ 9 0 ≤ numbers의 모든 원소 ≤ 9 numbers의 모든 원소는 서로 다릅니다 입력 출력 예시 풀어보기 public int solution(int[] numbers) { int total = 9*10/2; int sum =0; for(int i : numbers){ sum+=i; } return total-sum; } 1) 풀이 0부터 9까지의 총합을 등차수열 공식으로 구한다. 총합에서 존재하는 수의 값을 계속 빼주면 존..

1. 문제 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두 글자를 반환하면 됩니다. 제한 사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입력 출력 예시 풀어보기 1. 내가 풀어본 풀이 public void solution(String s) { int len = s.length(); int idx = len / 2; return ((len & 1) == 1) ? String.valueOf(s.charAt(idx)) : s.substring(idx - 1, idx + 1); } 1) 풀이 문자열의 가운데 문자열의 시작 부분 인덱스를 얻기 위해 길이를 반으로 나눈다. 길이가 짝수이면, 가운데 인덱스를 얻어 문자를 얻어와 substring()..

1. 문제 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한 사항 num은 int 범위의 정수입니다. 0은 짝수입니다. 입력 출력 예시 풀어보기 public String solution2(int num) { String answer = "Even"; answer = ((num & 1) == 1)?"Odd":answer; return answer; } 1) 풀이 Even(짝수) 문자열을 문자열 변수에 저장한다. 홀수는 ex) 3 일 때 이진 수로 변환하면 011이고 001과 & 비트 연산을 1이 출력됨으로 홀수 판별한다. 삼항 연산자를 통해 홀수면 answer에 Odd 문자열 저장, 아니면 Even 그대로 저장한다. 마무리 모듈..

1. 문제 이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. 제한 사항 n과 m은 각각 1000 이하인 자연수입니다. 입력 출력 예시 풀어보기 public void solution(int width, int height) { String w = "*".repeat(width); for (int i = 0; i < height; i++) { System.out.println(w); } } 1) 풀이 너비와 높이가 주어짐으로 너비만큼 String 클래스에 repeat(int count)을 이용해 미리 String 변수에 저장해놓는다. 높이만큼 반복, 줄을 넘기며 출력한다. 2) 사용 메서드 자바 11부..