πŸ”„ Algorithm/etc

μžλ°”(Java) ν™€μˆ˜ 짝수 λ‚˜λˆ„μ–΄ λ‹΄κΈ°

kongmi 2023. 1. 12. 20:33

문제

μ •μˆ˜ 7개λ₯Ό μž…λ ₯ λ°›μ•„ ν™€μˆ˜μ™€ 짝수λ₯Ό λΆ„λ₯˜ν•΄ 좜λ ₯ν•˜κΈ°

μž…λ ₯

μ •μˆ˜ : 1 2 6 8 4 25 50

좜λ ₯

ν™€μˆ˜ : 1 25

짝수 : 2 6 8 4 50

첫번째 방법(λ°°μ—΄)

package ν™€μˆ˜μ§μˆ˜λ‚˜λˆ„μ–΄λ‹΄κΈ°0112;

public class OddEvenMain {
    public static void main(String[] args) {
        OddEvenSeparator ex = new OddEvenSeparator();
        ex.inputArray();
        ex.separatorArray();
        ex.printArray();
    }
}
package ν™€μˆ˜μ§μˆ˜λ‚˜λˆ„μ–΄λ‹΄κΈ°0112;
import java.util.Scanner;

public class OddEvenSeparator {
    int[] inputArr = new int[7];
    int[] oddArr = new int[7]; // ν™€μˆ˜
    int[] evenArr = new int[7];
    int oddIdx = 0;
    int evenIdx = 0;

    // μ •μˆ˜ 7개 μž…λ ₯ λ°›κΈ°
    void inputArray() {
        Scanner sc = new Scanner(System.in);
        System.out.print("μ •μˆ˜ 7개λ₯Ό μž…λ ₯ν•˜μ„Έμš”. : ");
        for(int i = 0; i < inputArr.length; i++) {
            inputArr[i] = sc.nextInt();
        }
    }
    // ν™€μˆ˜ / 짝수 λ‚˜λˆ„μ–΄ λ‹΄κΈ°
    void separatorArray() {
        for(int e : inputArr) {
            if(e % 2 == 0) evenArr[evenIdx++] = e;
            else oddArr[oddIdx++] = e;
        }
    }
    // ν™€μˆ˜ / 짝수 λ°°μ—΄ 좜λ ₯
    void printArray() {
        System.out.print("ν™€μˆ˜ : " );
        for(int i = 0; i < oddIdx; i++) System.out.print(oddArr[i] + " ");
        System.out.println();
        System.out.print("짝수 : " );
        for(int i = 0; i < evenIdx; i++) System.out.print(evenArr[i] + " ");
    }
}
배열을 μ΄μš©ν•˜λ©΄ 인덱슀 계산에 ν•„μš”ν•œ λ³€μˆ˜λ₯Ό λ³„λ„λ‘œ μΆ”κ°€ν•΄μ•Ό ν•˜κΈ° λ•Œλ¬Έμ— λΉ„νš¨μœ¨μ μž„.

λ‘λ²ˆμ§Έ 방법(λ°°μ—΄ ArrayList)

package ν™€μˆ˜μ§μˆ˜λ‚˜λˆ„μ–΄λ‹΄κΈ°_ArrayList0112;

public class OddEvenArrayListMain {
    public static void main(String[] args) {
        OddEvenArrayList oddEven = new OddEvenArrayList();

        oddEven.inputArray();
        oddEven.separatorArray();
        oddEven.printArray();
    }
}
package ν™€μˆ˜μ§μˆ˜λ‚˜λˆ„μ–΄λ‹΄κΈ°_ArrayList0112;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class OddEvenArrayList {
    List<Integer> inList = new ArrayList<>();
    List<Integer> oddList = new ArrayList<>();
    List<Integer> evenList = new ArrayList<>();

    void inputArray() {
        Scanner sc = new Scanner(System.in);
        System.out.print("μ •μˆ˜ μž…λ ₯ : ");
        int value = 0;
        while(true) {
            value = sc.nextInt();
            if(value == 999) break;
            inList.add(value); // ArrayList 값을 μΆ”κ°€
        }
    }

    void separatorArray() {
        for(int e : inList) {
            if(e % 2 == 0) evenList.add(e);
            else oddList.add(e);
        }
    }

    void printArray() {
        System.out.print("ν™€μˆ˜ : ");
        for(int e : oddList) System.out.print(e + " ");
        System.out.println();
        System.out.print("짝수 : ");
        for(int e : evenList) System.out.print(e + " ");
    }
}