์•Œ๊ณ ๋ฆฌ์ฆ˜

10์›” 20์ผ 4๋ฌธ์ œ - Java : Array

1. ํฐ ์ˆ˜ ์ถœ๋ ฅํ•˜๊ธฐ

N๊ฐœ์˜ ์ •์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›์•„, ์ž์‹ ์˜ ๋ฐ”๋กœ ์•ž ์ˆ˜๋ณด๋‹ค ํฐ ์ˆ˜๋งŒ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”.

(์ฒซ ๋ฒˆ์งธ ์ˆ˜๋Š” ๋ฌด์กฐ๊ฑด ์ถœ๋ ฅํ•œ๋‹ค)


import java.util.ArrayList;
import java.util.Scanner;

public class Test2_01 {

  public ArrayList<Integer> solution(int[] numberArray) {
    ArrayList<Integer> result = new ArrayList<>();
    result.add(numberArray[0]);
    for (int i = 0; i < numberArray.length-1; i++) {
      if(numberArray[i]<numberArray[i+1]){
        result.add(numberArray[i+1]);
      }
    }
    return result;
  }

  public static void main(String[] args) {
    Test2_01 main = new Test2_01();
    Scanner sc = new Scanner(System.in);
    int num = sc.nextInt();
    int[] numberArray = new int[num];
    for (int i = 0; i < num; i++) {
      numberArray[i] = sc.nextInt();
    }
    for (int n : main.solution(numberArray)) {
      System.out.print(n + " ");
    }
  }
}

 

2. ๋ณด์ด๋Š” ํ•™์ƒ

์„ ์ƒ๋‹˜์ด N๋ช…์˜ ํ•™์ƒ์„ ์ผ๋ ฌ๋กœ ์„ธ์› ์Šต๋‹ˆ๋‹ค. ์ผ๋ ฌ๋กœ ์„œ ์žˆ๋Š” ํ•™์ƒ์˜ ํ‚ค๊ฐ€ ์•ž์—์„œ๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ๋งจ ์•ž์— ์„œ ์žˆ๋Š”

์„ ์ƒ๋‹˜์ด ๋ณผ ์ˆ˜ ์žˆ๋Š” ํ•™์ƒ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”. (์•ž์— ์„œ ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค๋ณด๋‹ค ํฌ๋ฉด ๋ณด์ด๊ณ , ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฉด ๋ณด์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.)


1. ๋งจ ์•ž์— ์žˆ๋Š” ํ•ญ์ƒ์€ ๋ฌด์กฐ๊ฑด ๋ณด์ด๋ฏ€๋กœ reulst =1 ๋กœ ์‹œ์ž‘ํ•œ๋‹ค.

2. ์•ž ๋’ค ํ‚ค๋ฅผ ๋น„๊ตํ•˜์—ฌ ๊ทธ์ค‘ ํฐ ์ˆ˜๋ฅผ tmp์— ๋„ฃ์–ด๋‘๊ณ  i๋ฒˆ์งธ์™€ ๊ณ„์† ํ•ด์„œ ๋น„๊ตํ•˜๋ฉฐ countํ•œ๋‹ค.

import java.util.Scanner;

public class Main {

    public int solution(int[] students,int num){
        int result = 1;
        int tmp = students[0];
    for (int i = 1; i < num; i++) {
      if(tmp < students[i]){
          result++;
          tmp = students[i];
      }
    }

        return result;
    }
    public static void main(String[] args) {
    Main main = new Main();
    Scanner sc = new Scanner(System.in);
    int num =sc.nextInt();
    int[] students = new int[num];
    for (int i = 0; i < num; i++){
        students[i] = sc.nextInt();
    }
    System.out.println(main.solution(students,num));
  }
}

3. ๊ฐ€์œ„ ๋ฐ”์œ„ ๋ณด

A, B ๋‘ ์‚ฌ๋žŒ์ด ๊ฐ€์œ„๋ฐ”์œ„๋ณด ๊ฒŒ์ž„์„ ํ•ฉ๋‹ˆ๋‹ค. ์ด N๋ฒˆ์˜ ๊ฒŒ์ž„์„ ํ•˜์—ฌ A๊ฐ€ ์ด๊ธฐ๋ฉด A๋ฅผ ์ถœ๋ ฅํ•˜๊ณ , B๊ฐ€ ์ด๊ธฐ๋ฉด B๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ๋น„๊ธธ ๊ฒฝ์šฐ์—๋Š” D๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

๊ฐ€์œ„, ๋ฐ”์œ„, ๋ณด์˜ ์ •๋ณด๋Š” 1:๊ฐ€์œ„, 2:๋ฐ”์œ„, 3:๋ณด๋กœ ์ •ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด N=5์ด๋ฉด

๋‘ ์‚ฌ๋žŒ์˜ ๊ฐ ํšŒ์˜ ๊ฐ€์œ„, ๋ฐ”์œ„, ๋ณด ์ •๋ณด๊ฐ€ ์ฃผ์–ด์ง€๋ฉด ๊ฐ ํšŒ๋ฅผ ๋ˆ„๊ฐ€ ์ด๊ฒผ๋Š”์ง€ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”.


result๋Š” ArrayList๋ฅผ ์•ˆ์“ฐ๊ณ  String์œผ๋กœ ํ•ฉ์ณ toCharArray๋ฅผ ํ•ด์ฃผ์–ด๋„ ์ƒ๊ด€์—†๋‹ค.

import java.util.ArrayList;
import java.util.Scanner;

public class Main {

  public ArrayList<String> solution(int[] a, int[] b, int num) {
    ArrayList<String> result = new ArrayList<>();
    for (int i = 0; i < num; i++) {
        if(a[i] == b[i]){
            result.add("D");
        }else if(a[i] == 2 && b[i] <= 1){
            result.add("A");
        }else if(a[i]==3 && b[i] >=2){
            result.add("A");
        }else if(a[i] == 1 && b[i]>=3){
            result.add("A");
        }else{
            result.add("B");
        }
    }
    return result;
  }

  public static void main(String[] args) {
    Main main = new Main();
    Scanner sc = new Scanner(System.in);
    int num = sc.nextInt();
    int[] a = new int[num];
    int[] b = new int[num];
    for (int i = 0; i < num; i++) {
      a[i] = sc.nextInt();
    }
    for (int i = 0; i < num; i++) {
      b[i] = sc.nextInt();
    }

    for (String x : main.solution(a,b,num)){
      System.out.println(x);
    }
  }
}

 

4. ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด

1) ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด์„ ์ถœ๋ ฅํ•œ๋‹ค. ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด์ด๋ž€ ์•ž์˜ 2๊ฐœ์˜ ์ˆ˜๋ฅผ ํ•ฉํ•˜์—ฌ ๋‹ค์Œ ์ˆซ์ž๊ฐ€ ๋˜๋Š” ์ˆ˜์—ด์ด๋‹ค.

2) ์ž…๋ ฅ์€ ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด์˜ ์ด ํ•ญ์˜ ์ˆ˜ ์ด๋‹ค. ๋งŒ์•ฝ 7์ด ์ž…๋ ฅ๋˜๋ฉด 1 1 2 3 5 8 13์„ ์ถœ๋ ฅํ•˜๋ฉด ๋œ๋‹ค.


ArrayList๋Š” ๋’ค๋กœ ์ˆœ์„œ๋Œ€๋กœ ์ถ”๊ฐ€ ๋˜๊ธฐ ๋•Œ๋ฌธ์— i-1 ๋ฒˆ์งธ์™€ i ๋ฒˆ์งธ์˜ ๊ฐ’์„ ๊ณ„์†ํ•ด์„œ add ํ•ด์ฃผ๋ฉด ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด์ด ์™„์„ฑ๋œ๋‹ค

import java.util.ArrayList;
import java.util.Scanner;

public class Main {
  public ArrayList<Integer> solution(int num) {
    ArrayList<Integer> result  = new ArrayList<>();
    result.add(1);
    result.add(1);

    for (int i = 1; i < num-1; i++) {
      result.add(result.get(i - 1) + result.get(i));
    }

    return result;
  }

  public static void main(String[] args) {
    Main main = new Main();
    Scanner sc = new Scanner(System.in);
    int num = sc.nextInt();
    for (int x : main.solution(num)) {
      System.out.print(x + " ");
    }
  }
}
๋ฐ˜์‘ํ˜•