-
💻 자바 알고리즘 - 주사위 게임1algorithm 2023. 10. 7. 14:47
📕 문제 설명 1부터 6까지 숫자가 적힌 주사위가 두 개 있습니다. 두 주사위를 굴렸을 때 나온 숫자를 각각 a, b라고 했을 때 얻는 점수는 다음과 같습니다. a와 b가 모두 홀수라면 a2 + b2 점을 얻습니다. a와 b 중 하나만 홀수라면 2 × (a + b) 점을 얻습니다. a와 b 모두 홀수가 아니라면 |a - b| 점을 얻습니다. 두 정수 a와 b가 매개변수로 주어질 때, 얻는 점수를 return 하는 solution 함수를 작성해 주세요. 📕 제한 사항 a와 b는 1 이상 6 이하의 정수입니다. 📝 답안 class Solution { public int solution(int a, int b) { if(a%2==1){ return (b%2==1)?(a*a)+(b*b):2*(a+b); } e..
-
💻 자바 알고리즘 - 문자열 바꿔서 찾기algorithm 2023. 10. 7. 14:39
📕 문제 설명 문자 "A"와 "B"로 이루어진 문자열 myString과 pat가 주어집니다. myString의 "A"를 "B"로, "B"를 "A"로 바꾼 문자열의 연속하는 부분 문자열 중 pat이 있으면 1을 아니면 0을 return 하는 solution 함수를 완성하세요. 📕 제한 사항 1 ≤ myString의 길이 ≤ 100 1 ≤ pat의 길이 ≤ 10 myString과 pat는 문자 "A"와 "B"로만 이루어진 문자열입니다. 📝 답안 class Solution { public int solution(String myString, String pat) { String str = ""; String[] arr = myString.split(""); int answer = 0; for(int i=0; i
-
💻 자바 알고리즘 - n개 간격의 원소들algorithm 2023. 10. 5. 11:49
📕 문제 설명 정수 리스트 num_list와 정수 n이 주어질 때, num_list의 첫 번째 원소부터 마지막 원소까지 n개 간격으로 저장되어있는 원소들을 차례로 담은 리스트를 return하도록 solution 함수를 완성해주세요. 📕 제한 사항 5 ≤ num_list의 길이 ≤ 20 1 ≤ num_list의 원소 ≤ 9 1 ≤ n ≤ 4 📝 답안 class Solution { public int[] solution(int[] num_list, int n) { int count = (num_list.length % n == 0)?num_list.length/n : (num_list.length/n)+1; int[] answer = new int[count]; for(int i=0; i
-
💻 자바 알고리즘 - N 보다 커질 때까지 더하기algorithm 2023. 10. 5. 11:36
📕 문제 설명 정수 배열 numbers와 정수 n이 매개변수로 주어집니다. numbers의 원소를 앞에서부터 하나씩 더하다가 그 합이 n보다 커지는 순간 이때까지 더했던 원소들의 합을 return 하는 solution 함수를 작성해 주세요. 📕 제한 사항 1 ≤ numbers의 길이 ≤ 100 1 ≤ numbers의 원소 ≤ 100 0 ≤ n n) { return answer; } } return answer; } } foreach를 이용해..
-
💻 자바 알고리즘 - 글자 이어 붙여 문자열 만들기algorithm 2023. 10. 4. 10:27
📕 문제 설명 문자열 my_string과 정수 배열 index_list가 매개변수로 주어집니다. my_string의 index_list의 원소들에 해당하는 인덱스의 글자들을 순서대로 이어 붙인 문자열을 return 하는 solution 함수를 작성해 주세요. 📕 제한 사항 1 ≤ my_string의 길이 ≤ 1,000 my_string의 원소는 영소문자로 이루어져 있습니다. 1 ≤ index_list의 길이 ≤ 1,000 0 ≤ index_list의 원소 < my_string의 길이 📝 답안 class Solution { public String solution(String my_string, int[] index_list) { String answer = ""; for(int i=0; i
-
💻 자바 알고리즘 - 배열 만들기2algorithm 2023. 10. 1. 11:41
📕 문제 설명 정수 l과 r이 주어졌을 때, l 이상 r이하의 정수 중에서 숫자 "0"과 "5"로만 이루어진 모든 정수를 오름차순으로 저장한 배열을 return 하는 solution 함수를 완성해 주세요. 만약 그러한 정수가 없다면, -1이 담긴 배열을 return 합니다. 📕 제한 사항 1 ≤ l ≤ r ≤ 1,000,000 📝 답안 import java.util.*; class Solution { public int[] solution(int l, int r) { List arr = new ArrayList(); for(int i=l; i
-
💻 자바 알고리즘 - 카운트 업algorithm 2023. 9. 29. 15:05
📕 문제 설명 정수 start_num와 end_num가 주어질 때, start_num부터 end_num까지의 숫자를 차례로 담은 리스트를 return하도록 solution 함수를 완성해주세요. 📕 제한 사항 0 ≤ start_num ≤ end_num ≤ 50 📝 답안 class Solution { public int[] solution(int start_num, int end_num) { int[] answer = new int[(end_num-start_num)+1]; for(int i=0; i
-
💻 자바 알고리즘 - 수열과 구간 쿼리 3algorithm 2023. 9. 29. 14:42
📕 문제 설명 정수 배열 arr와 2차원 정수 배열 queries이 주어집니다. queries의 원소는 각각 하나의 query를 나타내며, [i, j] 꼴입니다. 각 query마다 순서대로 arr[i]의 값과 arr[j]의 값을 서로 바꿉니다. 위 규칙에 따라 queries를 처리한 이후의 arr를 return 하는 solution 함수를 완성해 주세요. 📕 제한 사항 1 ≤ arr의 길이 ≤ 1,000 0 ≤ arr의 원소 ≤ 1,000,000 1 ≤ queries의 길이 ≤ 1,000 0 ≤ i < j < arr의 길이 📝 답안 class Solution { public int[] solution(int[] arr, int[][] queries) { int temp = 0; for(int i=0; i