본문 바로가기

program life/algorithm

행렬의 덧셈 문제행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬을 입력받는 sumMatrix 함수를 완성하여 행렬 덧셈의 결과를 반환해 주세요. 예를 들어 2x2 행렬인 A = ((1, 2), (2, 3)), B = ((3, 4), (5, 6)) 가 주어지면, 같은 2x2 행렬인 ((4, 6), (7, 9))를 반환하면 됩니다.(어떠한 행렬에도 대응하는 함수를 완성해주세요.) 문제풀이class SumMatrix {int[][] sumMatrix(int[][] A, int[][] B) {int[][] answer = new int[A.length][A[0].length]; for(int i = 0; i 더보기
나누어 떨어지는 숫자 배열 문제divisible 메소드는 int형 배열 array와 int divisor를 매개변수로 받습니다.array의 각 element 중 divisor로 나누어 떨어지는 값만 포함하는 새로운 배열을 만들어서 반환하도록 divisible에 코드를 작성해 보세요. 예를들어 array가 {5, 9, 7, 10}이고 divisor가 5이면 {5, 10}을 리턴해야 합니다. 문제풀이import java.util.Arrays;class Divisible {public int[] divisible(int[] array, int divisor) {//ret에 array에 포함된 정수중, divisor로 나누어 떨어지는 숫자를 순서대로 넣으세요.return Arrays.stream(array).filter(rest -> r.. 더보기
최대값과 최소값 문제getMinMaxString 메소드는 String형 변수 str을 매개변수로 입력받습니다.str에는 공백으로 구분된 숫자들이 저장되어 있습니다.str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 (최소값) (최대값)형태의 String을 반환하는 메소드를 완성하세요.예를들어 str이 1 2 3 4라면 1 4를 리턴하고, -1 -2 -3 -4라면 -4 -1을 리턴하면 됩니다. 문제풀이public class GetMinMaxString { public String getMinMaxString(String str) { String[] numbers = str.split(" "); int min = 0; int max = 0; int number = 0; min = max = Integer.parseInt.. 더보기
짝수와 홀수 문제evenOrOdd 메소드는 int형 num을 매개변수로 받습니다.num이 짝수일 경우 Even을 반환하고 홀수인 경우 Odd를 반환하도록 evenOrOdd에 코드를 작성해 보세요.num은 0이상의 정수이며, num이 음수인 경우는 없습니다 문제 풀이public class EvenOrOdd { String evenOrOdd(int num) { String result = ""; if(num%2 > 0) result = "Odd"; else result = "Even"; return result; } public static void main(String[] args) { String str = "1 2 3 4"; EvenOrOdd evenOrOdd = new EvenOrOdd(); //아래는 테스트로 .. 더보기
서울에서김서방찾기 문제findKim 함수(메소드)는 String형 배열 seoul을 매개변수로 받습니다. seoul의 element중 Kim의 위치 x를 찾아, 김서방은 x에 있다는 String을 반환하세요.seoul에 Kim은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다. 문제풀이import java.util.Arrays;public class FindKim {public String findKim(String[] seoul){//x에 김서방의 위치를 저장하세요.int x = Arrays.asList(seoul).indexOf("Kim");return "김서방은 "+ x + "에 있다";}// 실행을 위한 테스트코드입니다.public static void main(String[] args) {FindKi.. 더보기
최대공약수와 최소공배수 문제두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환해주는 gcdlcm 함수를 완성해 보세요. 배열의 맨 앞에 최대공약수, 그 다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 gcdlcm(3,12) 가 입력되면, [3, 12]를 반환해주면 됩니다. 최소공배수 : n1 * n2 / 최대공약수 최대공약수 : 유클리드 호제법 유클리드 호제법유클리드 호제법(Euclidean algorithm)은 2개의 자연수의 최대공약수를 구하는 알고리즘 중 하나이다.호제법이란, 두 수가 서로 상대방 수를 나누어 결국 원하는 수를 얻는 알고리즘을 말한다. 풀이import java.util.Arrays;class TryHelloWorld { public int[] gcdlcm(int a, int b) { int[] a.. 더보기
문자열 내림차순으로 배치하기 문제everseStr 메소드는 String형 변수 str을 매개변수로 입력받습니다. str에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 String을 리턴해주세요. str는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 예를들어 str이 Zbcdefg면 gfedcbZ을 리턴하면 됩니다. 풀이import java.util.Arrays;public class ReverseStr {public String reverseStr(String str){char[] sol = str.toCharArray(); Arrays.sort(sol); return new StringBuilder(new String(sol)).reverse().toString();}// 아래는 테스트로.. 더보기

반응형