JUST GO

[Java] TEST4 본문

Java/TEST

[Java] TEST4

root_go 2022. 10. 19. 11:16

Q1. 주어진 int 배열인 매개변수 nums에 대해 이가 가진 원소 중 소수(Prime Number)만을 추출해 int 배열로 반환하는 정적인 메서드 filterPrimes를 만드세요.

 

작업 위치 : 마음대로

호출 예제 :

 

Int [] nums = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11};

Int [] primes = filterPrimes = filterPrimes(nums);

For (int prime : primes) {

   System.out.println(prime);

}

 

호출 결과 : 

2

3

5

7

11

 

비고 :

소수(Prime Number) : 어떠한 자연수 n을 나누어 떨어지게 할 수 있는 수가 1과 n 밖에 없는 수.

import java.util.Arrays; // 배열

public class filterPrimes {
    public static void main(String[] args) {

        int[] nums = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11};
        int[] primes = filterPrimes(nums);
        for (int prime : primes) {
            System.out.println(prime);
        }
    }
    public static int[] filterPrimes(int[] nums) {
        int[] temp = new int[nums.length];
        // 소수인지 확인후 임시적으로 담아줄 배열 temp를 만들어줍니다.
        int count = 0;
        // 소수 개수를 확인하기 위해서 사용
        boolean flag;
        // 소수가 맞는지 확인하고 결과에 따라서 담아주기 위한 flag
        for (int num : nums) {
            if (num == 2) {
                // 2는 무조건 소수이기 때문에
                temp[count++] = num;
                continue;
            }
            flag = true;
            // 기본적으로 true 소수가 아니면 false
            for (int i = 2; i < num / 2; i++) {
                // 1과 자기 자신은 제외하기 때문에 2부터
                if (num % i == 0) {
                    // 2는 그 이상의 값을 나누어도 의미가 없기때문에
                    break;
                }
            }
            if (flag)
            temp[count++] = num;
            // flag가 참이기 때문에 소수
        }
        int[] returnArray = Arrays.copyOfRange(temp, 0, count);
        // (복사할 배열, 시작지점, 복수할 원소?갯수)
        // 몇개까지인지 확인했으므로 뒤에 불필요한 0을 빼고 배열에 담아주기 위해서 일부분만
        // return할 배열에 복사해서 return
        return returnArray;
    }
}

Q2. 주어진 문자열인 매개변수 S 에 대해 연속되는 공백을 모두 한개의 공백으로 변환한 문자열을 반환하는 정적인메서드 clearString을 만드세요.

 

작업 위치 : 마음대로

호출 예제 :

 

String s = “ A what a           beautiful     day   it   is    !   “;

System.out.println( clearString(s) );

 

호출 결과 : 

 

“A what a beautiful day it is !;

 

비고 :

 

연속된 두 개 이상의 공백이 야예 사라져서는 안 되며 한 개 짜리 공백으로 전환되어야 함.

 

  1. 앞/뒤 공백은 필요 없음으로 잘라낸다.
  2. 공백 두 개가 있는 한한 공백 두 개를 공백 한 개로 치환하고 이를 반복한다.

'Java > TEST' 카테고리의 다른 글

[Java] TEST6  (0) 2022.10.20
[Java] TEST5  (0) 2022.10.19
[Java] TEST3  (0) 2022.10.19
[Java] TEST2  (0) 2022.10.13
[Java] TEST1  (1) 2022.10.12