๋ฐ˜์‘ํ˜•

 

package com.test.oop;

//์—ฌ๊ธฐ์„œ class AA ์•ˆ์— ์žˆ๋Š” ๊ฒƒ์€ ๋‹ค๋ฅธ class ์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์—†์Œ. ์บก์А ์•ˆ์— ๋“ค์–ด์žˆ์–ด. ์บก์Аํ™”.

class AA {
    int a = 1;
    int b = 2;

    void aa(){ //return ํ•  ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์„ ๋•Œ void ์“ฐ๊ณ  ๋ฐ”๋กœ method ์ž‘์„ฑ.
        System.out.println("a = " + a + " / b = " +b);
    }
}

class BB {
    private int a = 3; //์ด๋ฆ„์ด ๊ฐ™์•„๋„ ๋‹ค๋ฅธ class ์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ดœ์ฐฎ์Œ. 
    int b = 4;
    static final int q = 100; //final ์„ ๋ถ™์ด๋ฉด ๊ธฐ์กด ๋ฉค๋ฒ„๋ณ€์ˆ˜๊ฐ€ ์ƒ์ˆ˜๊ฐ€ ๋จ.
    void bb(){
        System.out.println("a = " + a +  " / b = " + b);
    }

    public int getA(){ //์ด๋ ‡๊ฒŒ ํ•ด์„œ private ์ธ a๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Œ. return ๋˜๋Š” ํƒ€์ž…์„ ๋ฉ”์†Œ๋“œ์ธ getA() ์•ž์— ์ ์–ด๋‘ฌ์•ผ ํ•จ. void ๋Š” return ๋˜๋Š” ๊ฒƒ์ด ์—†์–ด์„œ ์•ˆ์ ์€ ๊ฒƒ.
        return this.a; 
    }

    public void setA(int a){
        this.a = a;  //this.a๋Š” ํด๋ž˜์Šค ๋‚ด์˜ ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜ a๋ฅผ ๊ฐ€๋ฅดํ‚ด.
    }
}

class CC{
    static int c = 33; //class AA ์™€๋Š” ๋‹ฌ๋ฆฌ, static ์„ ์•ž์— ๋ถ™์ด๋‹ˆ, ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑ์‹œํ‚ค๋”๋ผ๋„ static type ์œผ๋กœ ์„ ์ •๋œ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋Š” ์—ฌ๋Ÿฌ ์ธ์Šคํ„ด์Šค์—์„œ๋„ ๋™์ผํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์ฐจ์ง€ํ•จ.
    int d = 60; 
    final int k = 4; //์ƒ์ˆ˜. ๊ณ ์ •๋œ ๊ฐ’์œผ๋กœ ๋‹ค๋ฅธ ๋ฐ์—์„œ k ๋ฅผ 5์ฒ˜๋Ÿผ ๋‹ค๋ฅธ ๊ฐ’์œผ๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†์Œ.
    void cc(){
        System.out.println("C = "+c + d);
        
    }
}

class DD{
    static int d = 88;
    static void dd(){ //static ์„ method ์ธ void ์•ž์— ์ ์–ด์ฃผ๋ฉด, ์ด method ์— ์‚ฌ์šฉ๋˜๋Š” ๋ณ€์ˆ˜๋„ static ์ด ๋ถ™์–ด์•ผ ํ•จ. ์™œ๋ƒ๋ฉด static ์ด ๋จผ์ € JVM ์ด ์ฝ๊ธฐ ๋•Œ๋ฌธ. ๊ทธ๋Ÿผ static ์œผ๋กœ ์•ˆ๋ถ™์€ int ๋Š” ์•ˆ์˜ฌ๋ผ๊ฐ€๋‹ˆ๊นŒ ๊ทธ static method ๊ฐ€ ์•ˆ๋ผ.
        System.out.println("d = "+d);
    }    
}

public class Exam01 { //์—ฌ๋Ÿฌ๊ฐœ์˜ class ๊ฐ€ ์žˆ์„ ๋•Œ, ํŒŒ์ผ๋ช…์˜ class ์•ž์— public ์ด ๋ถ™์–ด์•ผ ํ•จ.
    public static void main(String[] args){ //main ์•ž์— static ์ด ๋ถ™์–ด์•ผ ํ•˜๋Š” ์ด์œ  > JVM ์ด ์ฝ๊ธฐ ์‹œ์ž‘ํ•  ๋•Œ, static ์ด ๋ถ™์€ method ๋“ค์ด main method ์™€ ๊ฐ™์ด ๊ฐ€์žฅ ๋จผ์ € ์˜ฌ๋ผ์˜ด.
        //static ์ด ๋ถ™์œผ๋ฉด ์ค‘์š”ํ•œ ์• ๋‹ˆ๊นŒ main method ์™€ ๊ฐ™์ด ํ•จ๊ป˜ ๋ฉ”๋ชจ๋ฆฌ์— ์ฃผ์†Œ๊ฐ€ ๋‹ค ๊ณ ์ •๋จ.

        
        AA aa1 = new AA(); //์ธ์Šคํ„ด์Šคํ™” : ํด๋ž˜์Šค AA ๋ฅผ ์‹ค์ œ ์‹คํ–‰์—์„œ ์ž‘๋™๋  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ. AA ํด๋ž˜์Šค๋ฅผ aa1 ์ด๋ผ๋Š” ์ธ์Šคํ„ด์Šค๋กœ ๋งŒ๋“ค๋ผ๊ณ  ์‹œํ‚ค๋Š”๊ตฌ๋‚˜. ๋งŒ๋“ค์–ด์•ผ ๊ฒ ๋„ค?!
        //ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž‘๋™์„ ํ•  ๋–„, aa1์ด๋ผ๋Š” ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค์–ด์•ผ ๊ฒ ๊ตฌ๋‚˜, + AA() ๋Š” AA ํด๋ ˆ์Šค์˜ ํ˜•ํƒœ๋ฅผ ๊ฐ€์ ธ์™€์„œ ์–ด๋– ํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— aa1 ์ด๋ž€ ์ด๋ฆ„์„ ๊ฐ€์ง„ ์ธ์Šคํ„ด์Šค ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑ์‹œํ‚ด.

        AA aa2 = new AA(); //๊ฐ™์€ ํด๋ž˜์Šค์—์„œ ์™”์ง€๋งŒ, aa1๊ณผ ์ „ํ˜€ ๋‹ค๋ฅธ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ๊ฐ€์ง. aa1๊ณผ ๊ด€์—ฌ ์—†์Œ. ๋ณ„๋„๋กœ ์ž‘๋™.

        //์ด๋ ‡๊ฒŒ ํ•˜๋Š” ์ด์œ ๊ฐ€ ๋ญ์•ผ? ํ˜‘์—…์„ ์œ„ํ•ด. ์ฝ”๋“œ ์ค‘๋ณต ์ตœ์†Œํ™”๋ฅผ ์œ„ํ•ด. ๊ณต๋™๋ชจ๋“œ. ์˜ˆ๋ฅผ ๋“ค์–ด ์‡ผํ•‘๋ชฐ ๋งŒ๋“ ๋‹ค๊ณ  ํ•  ๋•Œ ๊ฐ™์€๊ฑฐ ๊ณ„์† ๋ฐ˜๋ณตํ•ด์•ผ ํ•˜์ž–์•„. ์ฝ”๋“œ ์ค‘๋ณต ์—„์ฒญ๋‚˜์ง€์ž–์•„.

        
        aa1.aa();
        aa1.a = 10;
        aa1.b = 20;
        aa1.aa(); //์—ฌ๊ธฐ์„  a = 10, b = 20

        aa2.aa(); //aa1 ๊ณผ ๊ฐ„์„ญ์„ ๋ฐ›์ง€ ์•Š์•„์„œ ์›๋ž˜๋Œ€๋กœ, a=1, b=2
       
        BB obj2 = new BB(); //์ƒ์„ฑ์ž์— ์˜ํ•œ ์ดˆ๊ธฐํ™” , ์—ฌ๊ธฐ์„œ ์ƒ์„ฑ์ž๋Š” BB() ์ด๊ฑฐ์ž„.
        obj2.bb();
        obj2.setA(1001);

        //obj2.a ๋Š” ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์—†์Œ. a ๋Š” private ์ด๊ธฐ ๋•Œ๋ฌธ. ๊ฐ€์ ธ์˜ค๋ ค๋ฉด getA() ๊ฐ™์€ ๋ฉ”์†Œ๋“œ๋ฅผ ์ง์ ‘ ๋งŒ๋“ค์–ด์•ผ ํ•จ.

        System.out.println(obj2.getA());


        CC cc1 = new CC();
        CC cc2 = new CC();
        
        
        cc1.cc();
        cc2.cc();

        cc1.c = 44; // c๋Š” cc1 ๊ณผ cc2 ๋ชจ๋‘์— ๋ฐ”๋€œ. ์™œ๋ƒํ•˜๋ฉด static int ์ด๊ธฐ ๋•Œ๋ฌธ.
        cc1.d = 50; // d๋Š” cc1 ์—์„œ๋งŒ ๋ฐ”๋€œ ์ผ๋ฐ˜ int ์ด๊ธฐ ๋•Œ๋ฌธ.
        cc1.cc();
        cc2.cc();

        
        DD.dd(); //์ง€๊ธˆ๊นŒ์ง€๋Š” ๊ผญ ์ธ์Šคํ„ด์Šค ๊ทœ์น™์— ์˜ํ•ด์„œ ์•ž์—์„œ ์ธ์Šคํ„ด์Šคํ™”๋ฅผ ์‹œ์ผฐ์–ด์•ผ ํ–ˆ์Œ. ๊ทธ๋Ÿฐ๋ฐ static method ๊ฐ€ ์ƒ๊ธฐ๋‹ˆ๊นŒ ๊ทธ๋ƒฅ ์ ์–ด๋„ ์—๋Ÿฌ๊ฐ€ ์•ˆ๋‚จ.

        //method ์— static ๋ถ™์ด๋ฉด ์ธ์Šคํ„ด์Šค ๊ฐ์ฒด๋ฅผ ์•ˆ๋งŒ๋“ค์–ด๋„ ๋จ.


    }
}
๋ฐ˜์‘ํ˜•
๋ฐ˜์‘ํ˜•

0,4,2,5,1,6,8,9,7, 3 ==> ์ด๋Ÿฐ ์‹์œผ๋กœ ๋ฌด์ž‘์œ„์˜ array ๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•ด๋ณด์ž.

 

์ด๊ฑธ 0,1,2,3,4,5,6,7,8,9 ์ด๋ ‡๊ฒŒ ์ˆœ์ฐจ์ ์œผ๋กœ ์ •๋ ฌํ•˜๊ณ  ์‹ถ์„ ๋•Œ,

JAVA ๋กœ ์ •๋ ฌํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์งœ๋ณด์ž!

 

์‚ฌ์‹ค Arrays.sort ๋ผ๋Š” method ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ•œ ๋ฒˆ์— ๋๋‚จ.

ํ•˜์ง€๋งŒ for ๋ฌธ์œผ๋กœ ํ•ด๋ณด๊ธฐ!

 

package com.test.data;
import java.util.Arrays;

public class BubbleSort {
    public static void main(String[] args){
        System.out.println("์ •๋ ฌ ์ „");
        int[] nums = {1,7,2,4,3,5,0,9,8,6};
        System.out.println(Arrays.toString(nums)); //Arrays ๋ฅผ import ํ•ด์•ผ ํ•จ.


        for (int i = nums.length-1; i>0; i--){
            for (int j = 0; j < i; j++){
                if (nums[j] > nums [j+1]){
                    int temp = nums[j];
                    nums[j] = nums [j+1];
                    nums [j+1] = temp;
                } 
            }
        }
        System.out.println("์ •๋ ฌ ํ›„\n"+ Arrays.toString(nums));

        // Arrays.sort(nums);
        // System.out.println("์ •๋ ฌ ํ›„\n"+Arrays.toString(nums));


    }
}
๋ฐ˜์‘ํ˜•
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ ๋งํฌ : https://www.acmicpc.net/problem/10952 


๋ฌธ์ œ

๋‘ ์ •์ˆ˜ A์™€ B๋ฅผ ์ž…๋ ฅ๋ฐ›์€ ๋‹ค์Œ, A+B๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ

์ž…๋ ฅ์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.

๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋Š” ํ•œ ์ค„๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ, ๊ฐ ์ค„์— A์™€ B๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (0 < A, B < 10)

์ž…๋ ฅ์˜ ๋งˆ์ง€๋ง‰์—๋Š” 0 ๋‘ ๊ฐœ๊ฐ€ ๋“ค์–ด์˜จ๋‹ค.

์ถœ๋ ฅ

 

๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋งˆ๋‹ค A+B๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

 

 

 

 

[JAVA ํ’€์ด]

package com.test.exam01;

import java.util.Scanner;

public class bakjoon {
    public static void main(String[] args){
        Scanner input = new Scanner (System.in);
        
        while (true){
            String str = input.nextLine();
            
            String[] arr = str.split(" ");
            int a = Integer.parseInt(arr[0]);
            int b = Integer.parseInt(arr[1]);

            if (a == 0 && b == 0){break;}1 1
            System.out.println(a+b);
            
        }

    }
}
๋ฐ˜์‘ํ˜•
๋ฐ˜์‘ํ˜•

JAVA ๋กœ ๋ฐ˜๋ณต๋ฌธ ์‚ฌ์šฉํ•ด์„œ 1๋ถ€ํ„ฐ 100๊นŒ์ง€์˜ ํ•ฉ ๊ตฌํ•˜๊ธฐ!

 

1. for(){} ๋ฌธ

package com.test.exam01;

public class ForExam01 {
    public static void main(String[] args){
        
        ////////////////////////////////////
        int sum = 0;
        for (int i = 1; i<=100; i++){
            sum += i;  // sum = sum + i; ์ฐธ๊ณ ๋กœ sum =+ i; ์ด๋ ‡๊ฒŒ ์“ฐ์ง€ ๋ง์ž.. sum =+i ์ด๊ฑด sum = +i (์–‘์ˆ˜ i ) ๋ผ๋Š” ์˜๋ฏธ.
        }
        System.out.println(sum);

        /*
        ์ฐธ๊ณ ๋กœ ์œ„์˜ ์ฝ”๋“œ๋Š” ์•„๋ž˜์ฒ˜๋Ÿผ ์จ๋„ ๋จ.
        for (int i = 1; i<=100; sum+= i++);
        System.out.println(sum);
         */
        
    }
}

 

 

 

2. while{} ๋ฌธ

 

1) while (์กฐ๊ฑด ์จ์ฃผ๊ธฐ)

        int j = 0;
        int newsum = 0;
        while (j<=100){
            newsum += j;
            j++; 
        }
        System.out.println(newsum);

 

 

2) while (true) ์ดํ›„, while ๋ฌธ ์•ˆ์— if ์™€ break๋กœ ๋ฐ˜๋ณต๋ฌธ ๋๋‚ด๊ธฐ

  • break ๋งŒ ์‚ฌ์šฉ
        int z = 0;
        int newnewnewsum = 0;
        while (true){
            newnewnewsum += z;
            z++;
            if (z > 100){break;}
        }
        System.out.println(newnewnewsum);
  • continue ์™€ break ๋ชจ๋‘ ์‚ฌ์šฉ
        int p = 0;
        int sum2 = 0;
        while (true){
            sum2 += p;
            p++;
            if (p<=100){
                continue;
            } else {
                break;
            }
        }
        System.out.println(sum2);

 

 

3. do {} while() ๋ฌธ 

int k = 0;
int newnewsum = 0;
do{
   newnewsum += k;
   k++;
} while (k <= 100);
System.out.println(newnewsum);
๋ฐ˜์‘ํ˜•
๋ฐ˜์‘ํ˜•

์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜์™€ ํด๋ž˜์Šค ๋ณ€์ˆ˜๋ฅผ ํ™•์ธํ•ด๋ด…์‹œ๋‹ค!

์•„๋ž˜ ์ฝ”๋“œ์™€ ๊ฒฐ๊ณผ๋กœ ํ™•์ธ!

 

package com.test.exam01;

public class Sample {
    
    /*
    ํด๋ž˜์Šค์˜ ๋‚ด๋ถ€์— ์„ ์–ธ๋œ ๋ณ€์ˆ˜ --> ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜
    ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜์˜ scope์€ ์ด ๋ณ€์ˆ˜๊ฐ€ ์„ ์–ธ๋œ ํด๋ž˜์Šค ์ „์ฒด์— ๋ฏธ์นœ๋‹ค.
    ๋‹จ, main method ๋‚ด์—์„œ ์˜ํ–ฅ์„ ๋ฏธ์น˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ธ์Šคํ„ด์Šค ์„ ์–ธ์ด ํ•„์š”ํ•˜๋‹ค.
    ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜์˜ lifetime์€ ์ด ๊ฐ์ฒด๊ฐ€ ์กด์žฌํ•  ๋•Œ๊นŒ์ง€...
    */
    int x, y; 
    
    /*
    ํด๋ž˜์Šค์˜ ๋‚ด๋ถ€์— ์„ ์–ธ๋œ static ๋ณ€์ˆ˜ --> static ์ด ๋ถ™์œผ๋ฉด ํด๋ž˜์Šค ๋ณ€์ˆ˜!
    ํด๋ž˜์Šค ๋ณ€์ˆ˜์˜ scope ์€ ์ด ๋ณ€์ˆ˜๊ฐ€ ์„ ์–ธ๋œ ํด๋ž˜์Šค ์ „์ฒด์— ๋ฏธ์นœ๋‹ค.
     */
    static int result;

    void add1(int a, int b){  //method ์„ ์–ธ
        //a, b = parameter ๋งค๊ฐœ๋ณ€์ˆ˜ --> ์ง€์—ญ๋ณ€์ˆ˜(local variable)
        x = a; //x ๋Š” ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜๋กœ ์ด๋ฏธ ์„ ์–ธ๋จ.
        //๋งค๊ฐœ๋ณ€์ˆ˜ a์˜ ๊ฐ’์ด ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜ x์— ํ• ๋‹น๋œ๋‹ค.
        y = b;
        int sum = x+y; //์„ ์–ธ๊ณผ ๋™์‹œ์— ํ• ๋‹น. --> ์ดˆ๊ธฐํ™”
        result = 88; //class ๋ณ€์ˆ˜์— 88์„ ํ• ๋‹น.
        System.out.println("Result = "+ result);
        System.out.println("Sum = "+ sum);
    }
    
    void gob2(){ //์œ„์˜ add1 ์˜ a,b ๋ณ€์ˆ˜๋Š” ์ง€์—ญ๋ณ€์ˆ˜์˜€๊ธฐ์—, ์—ฌ๊ธฐ์„œ ์จ๋„ ๋จ.
        int a = 3;
        int b = 4;
        System.out.println(a*b);
    }
    
    public static void main(String[] args){
        Sample obj = new Sample(); //sample ์€ class ์ด๋ฆ„. ์ธ์Šคํ„ด์Šค ์„ ์–ธ. ์ด๋ ‡๊ฒŒ ์ธ์Šคํ„ด์Šค ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด์ค˜์•ผ ํ•จ.
        //์ฐธ๊ณ ๋กœ obj. ์ณ์„œ ๋‚˜์˜ค๋Š” method์™€ ๋ณ€์ˆ˜๋“ค์€ ๋ชจ๋‘ sample ์ด๋ผ๋Š” class ๊ฐ€ ๊ฐ€์ง„ method์™€ ๋ณ€์ˆ˜๋“ค.
        obj.add1(10,20);
        System.out.println("X = "+obj.x); //obj.x ๋กœ ์ธ์Šคํ„ด์Šค ์„ ์–ธ์„ ํ•ด์คŒ.
        System.out.println("Y = "+obj.y);
        
        obj.gob2(); // 12๊ฐ€ ๋‚˜์˜ฌ ๊ฒƒ.
        System.out.println("Result = " + result); //class ๋ณ€์ˆ˜์ด๊ธฐ์—, ์„ ์–ธ์ด ํ•„์š” ์—†์–ด์„œ ๊ทธ๋ƒฅ result.
        
        result = 77;
        System.out.println("New Result = "+result); 

    }

}

 

 

์‹คํ–‰ํ•œ ๊ฒฐ๊ณผ!

Result = 88
Sum = 30
X = 10
Y = 20
12
Result = 88
New Result = 77

 

 


 

์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜์™€ ํด๋ž˜์Šค ๋ณ€์ˆ˜์˜ ์ฐจ์ด์ ์„ ํ‘œ๋กœ ์ •๋ฆฌํ•œ ๊ฒƒ!

 

+ ์ฐธ๊ณ ๋กœ ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜์™€ ํด๋ž˜์Šค ๋ณ€์ˆ˜๋Š” ๋ฉค๋ฒ„๋ณ€์ˆ˜์— ์†ํ•œ๋‹ค!

ํŠน์ง• ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜ (Instance Variable) ํด๋ž˜์Šค ๋ณ€์ˆ˜ (Class Variable)
์ •์˜ ๊ฐ์ฒด๋ณ„๋กœ ์ƒ์„ฑ๋˜๋Š” ๋ณ€์ˆ˜ ํด๋ž˜์Šค์— ํ•˜๋‚˜๋งŒ ์กด์žฌํ•˜๋Š” ๋ณ€์ˆ˜
ํ‚ค์›Œ๋“œ int x;, String name; static int result;, static String appName;
์ด๋ ‡๊ฒŒ static ์ด ๋ถ™์€ ๋ณ€์ˆ˜๊ฐ€ ํด๋ž˜์Šค ๋ณ€์ˆ˜!
๋ฉ”๋ชจ๋ฆฌ ์œ„์น˜ ๊ฐ ๊ฐ์ฒด๋งˆ๋‹ค ๋ณ„๋„๋กœ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ• ๋‹น๋จ ํด๋ž˜์Šค ๋กœ๋”ฉ ์‹œ ๋ฉ”๋ชจ๋ฆฌ์— ํ•œ ๋ฒˆ๋งŒ ํ• ๋‹น๋จ
๊ฐ’์˜ ๊ณต์œ  ์—ฌ๋ถ€ ๊ฐ์ฒด๋งˆ๋‹ค ๋…๋ฆฝ์ ์ธ ๊ฐ’์„ ๊ฐ€์ง ๋ชจ๋“  ๊ฐ์ฒด๊ฐ€ ๋™์ผํ•œ ๊ฐ’์„ ๊ณต์œ ํ•จ (๋ฉ”๋ชจ๋ฆฌ ๊ฐ™์€ ๊ณต๊ฐ„์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ)
์ ‘๊ทผ ๋ฐฉ๋ฒ• ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด ์ ‘๊ทผ (obj.x) ํด๋ž˜์Šค ์ด๋ฆ„์„ ํ†ตํ•ด ์ ‘๊ทผ (Sample.result)
์˜ˆ์‹œ Student name = new Student(); 
name.age = 10;
Sample.result = 100;
์ƒ์„ฑ ์‹œ์  ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ ์ƒ์„ฑ๋จ ํด๋ž˜์Šค๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œ๋  ๋•Œ ์ƒ์„ฑ๋จ
์ˆ˜๋ช… ๊ฐ์ฒด์™€ ํ•จ๊ป˜ ์ƒ์„ฑ๋˜๊ณ  ์‚ฌ๋ผ์ง ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๋Š” ๋™์•ˆ ์œ ์ง€๋จ
์ผ๋ฐ˜์ ์ธ ์‚ฌ์šฉ ๊ฐ์ฒด์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•  ๋•Œ ์‚ฌ์šฉ ๋ชจ๋“  ๊ฐ์ฒด๊ฐ€ ๊ณตํ†ต์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ’์ด๋‚˜ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•  ๋•Œ ์‚ฌ์šฉ

 

์„ค๋ช…

  • ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜:
    • ๊ฐ ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ๋งˆ๋‹ค ์ƒˆ๋กœ์šด ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค.
    • ์˜ˆ๋ฅผ ๋“ค์–ด, Student ๊ฐ์ฒด๋งˆ๋‹ค name๊ณผ age๊ฐ€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ๊ฐ์ฒด๋งˆ๋‹ค ๋‹ค๋ฅธ ๊ฐ’์„ ๊ฐ€์ง€๊ณ , ๊ฐ์ฒด๊ฐ€ ์‚ฌ๋ผ์ง€๋ฉด ๋ณ€์ˆ˜๋„ ์‚ฌ๋ผ์ง‘๋‹ˆ๋‹ค.
  • ํด๋ž˜์Šค ๋ณ€์ˆ˜:
    • ํด๋ž˜์Šค๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œ๋  ๋•Œ ํ•œ ๋ฒˆ๋งŒ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.
    • ๋ชจ๋“  ๊ฐ์ฒด๊ฐ€ ์ด ๋ณ€์ˆ˜์˜ ๋™์ผํ•œ ๊ฐ’์„ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค.
    • ์˜ˆ๋ฅผ ๋“ค์–ด, result๋Š” Sample ํด๋ž˜์Šค์˜ ๋ชจ๋“  ๊ฐ์ฒด๊ฐ€ ๊ฐ™์€ ๊ฐ’์„ ๊ฐ€์ง€๋ฉฐ, ํด๋ž˜์Šค ์ „์ฒด์— ํ•˜๋‚˜๋งŒ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

 

๊ฐ‘์ž๊ธฐ ๊ถ๊ธˆํ–ˆ๋˜ ์ !

 

์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜๋Š” ๊ฐ์ฒด๊ฐ€ ์‚ฌ๋ผ์ง€๋ฉด ์‚ฌ๋ผ์ง„๋‹ค๊ณ  ํ•˜๋˜๋ฐ, ๊ทธ๋ ‡๋‹ค๋ฉด ์ฝ”๋“œ ๋‚ด์—์„œ ๊ฐ์ฒด๋ฅผ ์—†์•จ ์ˆ˜๋„ ์žˆ์„๊นŒ?

์•„๋ž˜ ์ ‘์€ ๊ธ€ ํ™•์ธ

๋”๋ณด๊ธฐ

์ž๋ฐ”์—์„œ๋Š” ๊ฐ์ฒด๋ฅผ ์ง์ ‘์ ์œผ๋กœ "์—†์• ๋Š”" ์ฝ”๋“œ๋Š” ์ œ๊ณตํ•˜์ง€ ์•Š์ง€๋งŒ, ๊ฐ์ฒด๋ฅผ ๋” ์ด์ƒ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋„๋ก ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ž๋ฐ”๋Š” ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํ„ฐ๋ผ๋Š” ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋” ์ด์ƒ ์ฐธ์กฐ๋˜์ง€ ์•Š๋Š” ๊ฐ์ฒด์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ž๋™์œผ๋กœ ํšŒ์ˆ˜ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ์ฒด๋ฅผ ์—†์• ๋Š” ๋ฐฉ๋ฒ•

  1. ๊ฐ์ฒด ์ฐธ์กฐ ํ•ด์ œ
    java
    ์ฝ”๋“œ ๋ณต์‚ฌ
    public class Example { public static void main(String[] args) { Sample obj = new Sample(); // ๊ฐ์ฒด ์ƒ์„ฑ obj.add(10, 20); // ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ obj = null; // ๊ฐ์ฒด ์ฐธ์กฐ ํ•ด์ œ // ์ด์ œ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํ„ฐ๊ฐ€ ์ด ๊ฐ์ฒด๋ฅผ ์ˆ˜๊ฑฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. } }
    ์ด ์ฝ”๋“œ์—์„œ obj ๋ณ€์ˆ˜์— null์„ ๋Œ€์ž…ํ•˜๋ฉด, ์›๋ž˜ obj๊ฐ€ ์ฐธ์กฐํ•˜๋˜ Sample ๊ฐ์ฒด์— ๋Œ€ํ•œ ์ฐธ์กฐ๊ฐ€ ์‚ฌ๋ผ์ง‘๋‹ˆ๋‹ค. ๊ฐ์ฒด๊ฐ€ ๋” ์ด์ƒ ์ฐธ์กฐ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ, ์ž๋ฐ”์˜ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํ„ฐ๊ฐ€ ์ด ๊ฐ์ฒด๋ฅผ ๋‚˜์ค‘์— ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
  2. ๊ฐ์ฒด๋ฅผ ์—†์• ๋Š” ๊ฒƒ์€ ์‹ค์ œ๋กœ ๊ทธ ๊ฐ์ฒด๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์ง์ ‘ ์‚ญ์ œํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ๊ทธ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•˜๊ณ  ์žˆ๋Š” ๋ณ€์ˆ˜๋ฅผ null๋กœ ์„ค์ •ํ•˜์—ฌ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํ„ฐ๊ฐ€ ๊ทธ ๊ฐ์ฒด๋ฅผ ์ˆ˜๊ฑฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  3. ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜ ๊ฐ•์ œ ํ˜ธ์ถœ (๊ถŒ์žฅํ•˜์ง€ ์•Š์Œ)
    java
    ์ฝ”๋“œ ๋ณต์‚ฌ
    public class Example { public static void main(String[] args) { Sample obj = new Sample(); // ๊ฐ์ฒด ์ƒ์„ฑ obj.add(10, 20); // ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ obj = null; // ๊ฐ์ฒด ์ฐธ์กฐ ํ•ด์ œ System.gc(); // ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜ ๊ฐ•์ œ ํ˜ธ์ถœ // ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํ„ฐ๊ฐ€ `obj` ๊ฐ์ฒด๋ฅผ ์ˆ˜๊ฑฐํ•  ์ˆ˜ ์žˆ๋„๋ก ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. } }
    System.gc()๋Š” ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜์„ ์š”์ฒญํ•˜์ง€๋งŒ, ์‹ค์ œ๋กœ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜์ด ์‹คํ–‰๋ ์ง€ ์—ฌ๋ถ€๋Š” JVM์˜ ๊ฒฐ์ •์— ๋‹ฌ๋ ค ์žˆ์Šต๋‹ˆ๋‹ค.
  4. ์ž๋ฐ”์—์„œ๋Š” ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜์„ ๊ฐ•์ œ๋กœ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ด๋Š” ๋ณดํ†ต ๊ถŒ์žฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ ์ž์›์„ ๋น„ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜์„ ๊ฐ•์ œ๋กœ ํ˜ธ์ถœํ•˜๋ ค๋ฉด System.gc()๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์š”์•ฝ

  • ๊ฐ์ฒด ์ฐธ์กฐ ํ•ด์ œ: ๊ฐ์ฒด๋ฅผ ๋” ์ด์ƒ ์ฐธ์กฐํ•˜์ง€ ์•Š๊ฒŒ null๋กœ ์„ค์ •ํ•˜๋ฉด, ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํ„ฐ๊ฐ€ ๋‚˜์ค‘์— ์ด ๊ฐ์ฒด๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜ ๊ฐ•์ œ ํ˜ธ์ถœ: System.gc()๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜์„ ๊ฐ•์ œ๋กœ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ผ๋ฐ˜์ ์œผ๋กœ ์ž๋ฐ”๋Š” ์ž๋™์œผ๋กœ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜์„ ์ž˜ ์ฒ˜๋ฆฌํ•˜๋ฏ€๋กœ ์ด ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์ถ”์ฒœํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐ์—์„œ ์ œ๊ฑฐํ•˜๋ฉด, ์ž๋ฐ”์˜ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํ„ฐ๊ฐ€ ์ ์ ˆํžˆ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ด€๋ฆฌํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋ฐ˜์‘ํ˜•
๋ฐ˜์‘ํ˜•

https://www.acmicpc.net/problem/25304

 

์œ„์—๋Š” ๋ฌธ์ œ ๋งํฌ!

์•„๋ž˜๋Š” ๋ฌธ์ œ ์บก์ณ!

 

 


 

Java ๋กœ ํ’€์—ˆ๋‹ค!

๋‚˜๋งŒ ๋„ˆ๋ฌด ์–ด๋ ต๊ฒŒ ์ƒ๊ฐํ–ˆ๋‚˜ ใ…Ž ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์€ ์—„์ฒญ ์‰ฝ๊ฒŒ ํ‘ผ ๊ฒƒ ๊ฐ™๋‹ค.

๋‚˜๋Š” ์ค‘๊ฐ„์ค‘๊ฐ„ ๋ฌธ์žฅ๋„ ๋„ฃ์—ˆ๋‹ค

 

import java.util.Scanner;

public class cal {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		Scanner input = new Scanner(System.in);
		System.out.println("Your total price : ");
		int total = input.nextInt();

		System.out.println("How many kind of things did you buy? : ");
		int kind = input.nextInt();
		
		//์œ„์—์„œ ๋‚˜๋Š” 4ํ•˜๊ณ  enter ๋ฅผ ์น˜๋ฉด, enter ("\n") ๊ฐ€ ๊ทธ ๋‹ค์Œ input.nextLine() ๋ฉ”์„œ๋“œ๋Š” ๋ฒ„ํผ์— ๋‚จ์•„ ์žˆ๋Š” ์ค„๋ฐ”๊ฟˆ ๋ฌธ์ž \n์„ ์ฝ์Šต๋‹ˆ๋‹ค. ๊ทธ ๊ฒฐ๊ณผ ๋นˆ ๋ฌธ์ž์—ด ""์ด abstr[0]์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.
		// ๊ทธ๊ฑธ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์•„๋ž˜ ๋ถ€๋ถ„์—์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ๋‚จ์€ ์ค„๋ฐ”๊ฟˆ ๋ฌธ์ž๋ฅผ ์†Œ๋น„
		input.nextLine();
		
		System.out.println("Then let me know all of the price and the EA" );
		String[] abstr = new String[kind];
		
		for (int i = 0; i<kind; i++) {
			abstr[i] = input.nextLine();
			String[][] absplitstr = {abstr[i].split("\\s")};
			int[] absplitint = {Integer.parseInt(absplitstr[0][0]), Integer.parseInt(absplitstr[0][1])};
			total -= (absplitint[0]*absplitint[1]);
		}
		
		if (total == 0) {
			System.out.println("Yes!");
		} else {
			System.out.println("no!");
		}

		
	}

 

 

์ฐธ๊ณ ๋กœ, ๋‚ด๊ฐ€ 17๋ฒˆ line ์˜ ์ฝ”๋“œ๋ฅผ ๋นผ๋จน์—ˆ์„ ๋•Œ, abstr[0] = ""; ์ด๋ ‡๊ฒŒ ๋นˆ์นธ์ด ๋“ค์–ด๊ฐ€๋ฒ„๋ฆฌ๋Š” ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ๊ณ , ๊ทธ ์ด์œ ๋ฅผ ๋ชฐ๋ž๋Š”๋ฐ, Chat gpt ์„ ์ƒ๋‹˜์ด ์นœ์ ˆํ•˜๊ฒŒ ๊ทธ ์ด์œ ๋ฅผ ์•Œ๋ ค์คฌ๋‹ค.

์•„๋ž˜๋Š” gpt ๋‹ต๋ณ€!

 


abstr[0]์— ๋นˆ ๋ฌธ์ž์—ด ""์ด ๋“ค์–ด๊ฐ€๋Š” ์ด์œ ๋Š” Scanner ๊ฐ์ฒด์˜ nextLine() ๋ฉ”์„œ๋“œ๊ฐ€ ์ด์ „ ์ž…๋ ฅ์—์„œ ๋‚จ์€ ์ค„๋ฐ”๊ฟˆ ๋ฌธ์ž(\n)๋ฅผ ์ฝ์–ด๋ฒ„๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์•„๋ž˜์—์„œ ์ด ์ƒํ™ฉ์„ ๋‹จ๊ณ„๋ณ„๋กœ ์„ค๋ช…ํ• ๊ฒŒ์š”.

์ฝ”๋“œ ๋™์ž‘ ๊ณผ์ •

  1. total ๊ฐ’ ์ž…๋ ฅ: ์‚ฌ์šฉ์ž๊ฐ€ input.nextInt()๋ฅผ ํ†ตํ•ด ์ •์ˆ˜ 260000์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๊ฐ’ ๋’ค์— Enter ํ‚ค๋ฅผ ๋ˆ„๋ฅด๋ฉด, ์ˆซ์ž 260000 ๋’ค์— \n (์ค„๋ฐ”๊ฟˆ ๋ฌธ์ž)์ด ์ž…๋ ฅ ๋ฒ„ํผ์— ๋‚จ์•„ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
  2. kind ๊ฐ’ ์ž…๋ ฅ: ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ, input.nextInt()๋ฅผ ํ†ตํ•ด ์ •์ˆ˜ 4๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  \n์ด ๋‹ค์‹œ ์ž…๋ ฅ ๋ฒ„ํผ์— ๋‚จ์•„ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
  3. ์ฒซ ๋ฒˆ์งธ nextLine() ํ˜ธ์ถœ: ๋ฐ˜๋ณต๋ฌธ ์•ˆ์—์„œ abstr[0] = input.nextLine();์ด ์‹คํ–‰๋˜๋ฉด, input.nextLine() ๋ฉ”์„œ๋“œ๋Š” ๋ฒ„ํผ์— ๋‚จ์•„ ์žˆ๋Š” ์ค„๋ฐ”๊ฟˆ ๋ฌธ์ž \n์„ ์ฝ์Šต๋‹ˆ๋‹ค. ๊ทธ ๊ฒฐ๊ณผ ๋นˆ ๋ฌธ์ž์—ด ""์ด abstr[0]์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.
  4. ์ดํ›„ nextLine() ํ˜ธ์ถœ: ๊ทธ ๋‹ค์Œ ๋ฐ˜๋ณต์—์„œ input.nextLine()์ด ํ˜ธ์ถœ๋  ๋•Œ๋งˆ๋‹ค ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๊ฐ’์„ ์ œ๋Œ€๋กœ ์ฝ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด nextInt() ๋‹ค์Œ์— nextLine()์„ ํ•œ ๋ฒˆ ํ˜ธ์ถœํ•˜์—ฌ ์ž…๋ ฅ ๋ฒ„ํผ์— ๋‚จ์•„ ์žˆ๋Š” ์ค„๋ฐ”๊ฟˆ ๋ฌธ์ž๋ฅผ ์†Œ๋น„ํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.


 

 

์ด์ œ ์•ž์œผ๋กœ ์Šต๊ด€์„ ๋“ค์ด์ž!

๊ผญ! nextInt(); ๋ฅผ ์“ฐ๋ฉด, ์•„๋ž˜์— input.nextLine(); ์„ ์จ์ค˜์„œ "\n" ์„ ์†Œ๋น„ํ•ด์ฃผ์ž!

 

int num = input.nextInt();

input.nextLine();

 

 

 

๋„ˆ๋ฌด ์–ด๋ ต๊ฒŒ ํ’€์—ˆ๋‚˜? ์‹ถ์€ ๋ฐฑ์ค€ ๋ฌธ์ œ java ํ’€์ด ๋!

๋ฐ˜์‘ํ˜•
๋ฐ˜์‘ํ˜•

์ถœ์ฒ˜ : https://cloudstudying.kr/studies/55

 

์ž๋ฐ” 1000์ œ | CloudStudying

# ๋ธ”๋ž™์žญ ๊ฒŒ์ž„ ## ๋ฌธ์ œ ๋ธ”๋ž™์žญ ๊ฒŒ์ž„์ด ๋™์ž‘ ํ•  ์ˆ˜ ์žˆ๋„๋ก Player.java ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ## ๋ธ”๋ž™์žญ ๊ทœ์น™ + ์ฐธ๊ฐ€์ž๋Š” ๋”œ๋Ÿฌ์™€ ๊ฒŒ์ด๋จธ 2๋ช…์œผ๋กœ ์ œํ•œ + ์นด๋“œ๋Š” ๊ฐ ๋ฌด๋Šฌ(๋‹ค์ด์•„, ํด๋กœ๋ฒ„, ํ•˜ํŠธ, ์ŠคํŽ˜

cloudstudying.kr

 

๋ฌธ์ œ

A, E, I, O, U๋ฅผ ๋ชจ์Œ์ด๋ผ๊ณ  ๊ฐ€์ •ํ–ˆ์„๋•Œ, ์ž…๋ ฅ์œผ๋กœ ๋“ค์–ด์˜จ ๋ฌธ์ž์—ด์ด ๋ช‡๊ฐœ์˜ ๋ชจ์Œ๊ณผ ์ž์Œ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š”์ง€ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”.

์ž…๋ ฅ ์˜ˆ

  1. 2 // ์ž…๋ ฅํ•  ๋ฌธ์ž์—ด์˜ ๊ฐœ์ˆ˜
  2. Programming is fun // ์ž…๋ ฅํ•œ ๋ฌธ์ž์—ด 1
  3. Hello World // ์ž…๋ ฅํ•œ ๋ฌธ์ž์—ด 2

์ถœ๋ ฅ ์˜ˆ

  1. Programming is fun: 5 11
  2. Hello World: 3 7

ํžŒํŠธ

Scanner ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ‚ค๋ณด๋“œ๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ์„ ๋ฐ›์•„์ฃผ์„ธ์š”.

  1. Scanner input = new Scanner(System.in);
  2. int n = input.nextInt(); // ์ •์ˆ˜๊ฐ’ ์ž…๋ ฅ
  3. String str = input.next(); // ๋ฌธ์ž์—ด ์ž…๋ ฅ




๋‚ด๊ฐ€ ํ‘ผ ๋ฐฉ๋ฒ•์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค!

 

๋จผ์ € String์„ ๋ช‡ ๊ฐœ ์ž…๋ ฅํ•  ๊ฒƒ์ธ์ง€ ๋ฐ›์•„์„œ int num ์— ์ €์žฅ!

๋งŒ์•ฝ 2๊ฐœ ์ž…๋ ฅํ•  ๊ฒƒ์ด๋ผ๊ณ  ์ž‘์„ฑํ•˜๋ฉด, ๊ทธ 2๊ฐœ์˜ string ์„ ๋ฐ›์„ string array ์ƒ์„ฑ!

 

(์ฐธ๊ณ ๋กœ Scanner ๋กœ ๊ฐ’์„ ๊ฐ€์ ธ์˜ฌ ๋•Œ, ๋„์–ด์“ฐ๊ธฐ๋ฅผ ํ•˜๋ฉด ๊ฐ๊ฐ ๋‹ค๋ฅธ string ์œผ๋กœ ๊ฐ„์ฃผํ•ด๋ฒ„๋ฆฐ๋‹คใ…  ์ด๊ฑด ์–ด๋–ป๊ฒŒ ํ•˜์ง€?

nextLine() ์„ ์“ฐ๋ฉด ๋„์–ด์“ฐ๊ธฐ๋กœ ๊ตฌ๋ถ„ํ•œ๋‹ค๊ณ  ํ•˜๋Š”๋ฐ, ์ด๊ฑธ ์‚ฌ์šฉํ•˜๋ฉด ์ฒ˜์Œ์˜ nextInt ๋กœ ๊ฐ€์ ธ์˜จ num ๋‹ค์Œ์— ์—”ํ„ฐ ์ณค์„ ๋•Œ, ๊ทธ ์—”ํ„ฐ๋ฅผ ๋ฐ›์•„์„œ stringarr[0] ์— "" ๊ฐ’์„ ๋„ฃ์–ด๋ฒ„๋ฆฌ๋Š” ๊ฒƒ ๊ฐ™๋‹ค.. >> ์ด ๋ถ€๋ถ„์€ ๋‹ค์‹œ ํ•ด๊ฒฐํ•ด๋ณด์ž.)

 

 

์ฐธ๊ณ ๋กœ ์•„๋ž˜ ์ฝ”๋“œ ์œ„์— import java.util.scanner; ์ฝ”๋“œ๋„ ์žˆ์Œ. 

public static int j;
public static void main(String[] args) {
		
	Scanner input = new Scanner(System.in);
	System.out.println("How many strings do you have?");
		
	int num = input.nextInt();
	System.out.println("Then tell me your string(s).");
	String[] stringarr = new String[num];
		

	for (int i = 0; i<num; i++) {
		stringarr[i] = input.next();
	}
		
	String[] aeiou = {"a","e","i","o","u"};
	int sum = 0;
	for (int x = 0; x<num; x++) {
		for (j = 0; j<aeiou.length; j++) {
			if (stringarr[x].contains(aeiou[j])) {
				sum = sum + (int) stringarr[x].chars().filter(i -> String.valueOf((char) i).equals(aeiou[j])).count();
			} 
		}	
		System.out.print(stringarr[x]+": "+sum+", ");
		System.out.println((stringarr[x].length()-sum));
		sum = 0;
	}
	
    
}

 

์ฐธ๊ณ ๋กœ, 21๋ฒˆ์งธ ์ค„ ์ฝ”๋“œ๋Š”, ์•„๋ž˜์˜ ์ฝ”๋“œ๋ฅผ ๋‹ค๋ฅธ ๋ธ”๋กœ๊ทธ์—์„œ ์ฐธ๊ณ ํ•ด์„œ ๊ฐ€์ ธ๋‹ค ๋„ฃ์—ˆ๋‹ค!

 

String s ์—์„œ "0" ์ด ๋ช‡๊ฐœ ์žˆ๋Š”์ง€ ๊ฐ€์ ธ์™€์„œ findZeroCnt1 ์ด๋ผ๋Š” integer ์— ๋„ฃ๋Š” ์ฝ”๋“œ๊ฐ€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค๊ณ  ํ•œ๋‹ค.

๋‚œ ์šฐ์„  ์•„๋ž˜์˜ chars().filter ์ฝ”๋“œ๊ฐ€ ๋ญ”์ง€ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ, ๋”ฐ๋ผ์„œ ์ž‘์„ฑํ•ด๋ดค๋‹ค!

 

//String s = "110010101001";
//int findZeroCnt1 = (int) s.chars().filter(i -> String.valueOf((char) i).equals("0")).count();

 

 

 

์œ„์˜ ์ฝ”๋“œ๋ฅผ ๋”ฐ๋ผ์„œ, ์•„๋ž˜์ฒ˜๋Ÿผ ์ ์–ด๋ดค๋”๋‹ˆ,

sum = sum + (int) stringarr[x].chars().filter(i -> String.valueOf((char) i).equals(aeiou[j])).count();

 

ํ•ด๋‹น for ๋ฌธ์—์„œ int j ๋ฅผ ์ƒ์„ฑํ•˜๋ฉด j๊ฐ€ local variable ์ด๋ผ๊ณ  ์•ˆ๋œ๋‹ค๊ณ  ํ•จ.

 

๊ทธ๋ž˜์„œ int j ๋ฅผ ๋งจ ์œ„๋กœ ๋นผ์คฌ๋‹ค. (public static int j;)

๊ทธ๋Ÿฌ๋‹ˆ๊นŒ ์ž‘๋™ํ•จ.

 

 


๋” ๊ฐ„๋žตํ•˜๊ฒŒ ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค ์ˆ˜๋Š” ์žˆ๊ฒ ์ง€๋งŒ, ์šฐ์„ ์€ ์—ฌ๊ธฐ์„œ ์›ํ•˜๋Š” ๊ฐ’์„ ๊ทธ๋ž˜๋„ ๋งŒ๋“ค์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ,,,

๊ฒฐ๊ณผ๊ฐ€ ์•„๋ž˜์ฒ˜๋Ÿผ ๋‚˜์˜จ๋‹คใ… ใ… ใ… ใ… 

์™œ ProgrammingIsFun ์—์„œ ๋ชจ์Œ์ด 4๊ฐœ๋งŒ ๋‚˜์˜ค๋Š” ๊ฑฐ์ง€..? 

๋””๋ฒ„๊ฑฐ ์‚ฌ์šฉํ•ด๋ด๋„ j ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ๊ฑด ๋‚˜์˜ค์ง€ ์•Š๊ณ ,, ์ง€๊ธˆ ๋ง‰ํ˜”๋‹ค..

 

 

๋ฌธ์ œ๋ฅผ ์ฐพ์•„๋ณด์ž..

 

.

.

.


---์ฒœ์žฌ Chat GPT ๋กœ๋ถ€ํ„ฐ ๋ฌธ์ œ๋ฅผ ์ฐพ์•„๋ƒˆ๋‹ค!----

 

๋‹น์‹ ์˜ Java ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋Š” stringarr[x].chars().filter(i -> String.valueOf((char) i).equals(aeiou[j])).count() ์ด ๋ถ€๋ถ„์— ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ถ€๋ถ„์—์„œ chars() ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ๊ฐ ๋ฌธ์ž๋ฅผ char ํƒ€์ž…์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ , ๊ทธ๋Ÿฐ ๋‹ค์Œ String.valueOf((char) i).equals(aeiou[j])๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๋‹น ๋ฌธ์ž๊ฐ€ ๋ชจ์Œ๊ณผ ์ผ์น˜ํ•˜๋Š”์ง€๋ฅผ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์€ String.valueOf((char) i).equals(aeiou[j]) ๋น„๊ต ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์ด ์ฝ”๋“œ๋Š” ๋ฌธ์ž๋ฅผ String์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋น„๊ตํ•˜๋Š”๋ฐ, ์ด ๊ณผ์ •์—์„œ ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„์ด ์ œ๋Œ€๋กœ ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  1. ๋ฌธ์ž๊ฐ€ ์†Œ๋ฌธ์ž ๋ชจ์Œ๊ณผ ์ผ์น˜ํ•˜๋Š”์ง€ ๊ฒ€์‚ฌํ•˜๊ธฐ ์œ„ํ•ด ์ž…๋ ฅ๋œ ๋ฌธ์ž์—ด์„ ๋ชจ๋‘ ์†Œ๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  2. String.valueOf((char) i).equals(aeiou[j]) ๋Œ€์‹ ์— char ํƒ€์ž…์„ ์ง์ ‘ ๋น„๊ตํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์€ ์ˆ˜์ •๋œ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค:

package program;
import java.util.Scanner;
public class aeiou {
    public static int j;
    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);
        System.out.println("How many strings do you have?");
        
        int num = input.nextInt();
        System.out.println("Then tell me your strings.");
        String[] stringarr = new String[num];
        
        for (int i = 0; i<num; i++) {
            stringarr[i] = input.next();
        }
        
        char[] aeiou = {'a','e','i','o','u'};
        int sum = 0;
        for (int x = 0; x<num; x++) {
            String lowerStr = stringarr[x].toLowerCase(); // ์†Œ๋ฌธ์ž๋กœ ๋ณ€ํ™˜
            for (j = 0; j<aeiou.length; j++) {
                sum += lowerStr.chars().filter(i -> i == aeiou[j]).count();
            }    
            System.out.print(stringarr[x]+": "+sum+", ");
            System.out.println((stringarr[x].length()-sum));
            sum = 0;
        }
        
    }
}

 

์ด๋ ‡๊ฒŒ ์ˆ˜์ •ํ•˜๋ฉด ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ ์—†์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋ชจ์Œ์˜ ๊ฐœ์ˆ˜๋ฅผ ์…€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ProgrammingIsfun์—์„œ ์†Œ๋ฌธ์ž๋กœ ๋ณ€ํ™˜๋œ programmingisfun์„ ์ฒ˜๋ฆฌํ•˜๋ฉฐ, 'i'๊ฐ€ ๋‘ ๋ฒˆ, 'o', 'a', 'u'๊ฐ€ ํ•œ ๋ฒˆ์”ฉ ๋“ฑ์žฅํ•˜์—ฌ ์ด 5๊ฐœ์˜ ๋ชจ์Œ์„ ์ œ๋Œ€๋กœ ์„ธ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

 

 

 

==> ChatGPT ์ง„์งœ ์ฒœ์žฌ๋‹ค.. ์†Œ๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•ด์„œ ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ ์—†์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋ชจ์Œ ๊ฐœ์ˆ˜๋ฅผ ์„ธ๋Š” ๊ฒƒ์ด ์ค‘์š”!


 

๊ทธ๋ฆฌ๊ณ  String ์„ ๋„์–ด์“ฐ๊ธฐ๋ฅผ ํ•ด๋„ Scanner ๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž..

 

 

 

๋ฐ˜์‘ํ˜•
๋ฐ˜์‘ํ˜•

Result ๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ๋‚˜์˜ค๊ฒŒ๋” ๋งŒ๋“ค์–ด ๋ณด๊ธฐ!

 

1*1=1
1*2=2
1*3=3
1*4=4
1*5=5
1*6=6
1*7=7
1*8=8
1*9=9




2*1=2
2*2=4
2*3=6
2*4=8
2*5=10
2*6=12
2*7=14
2*8=16
2*9=18




3*1=3
3*2=6
3*3=9
3*4=12
3*5=15
3*6=18
3*7=21
3*8=24
3*9=27




4*1=4
4*2=8
4*3=12
4*4=16
4*5=20
4*6=24
4*7=28
4*8=32
4*9=36




5*1=5
5*2=10
5*3=15
5*4=20
5*5=25
5*6=30
5*7=35
5*8=40
5*9=45




6*1=6
6*2=12
6*3=18
6*4=24
6*5=30
6*6=36
6*7=42
6*8=48
6*9=54




7*1=7
7*2=14
7*3=21
7*4=28
7*5=35
7*6=42
7*7=49
7*8=56
7*9=63




8*1=8
8*2=16
8*3=24
8*4=32
8*5=40
8*6=48
8*7=56
8*8=64
8*9=72




9*1=9
9*2=18
9*3=27
9*4=36
9*5=45
9*6=54
9*7=63
9*8=72
9*9=81



 

 

์ œ ์ฝ”๋“œ๋Š” "๋”๋ณด๊ธฐ" ๋ฅผ ํด๋ฆญํ•˜์‹œ๋ฉด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!

 

 

1๋ฒˆ : for ๊ณผ while ์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ–ˆ๋‹ค!

 

๋”๋ณด๊ธฐ

 

public class gugudan {

	public static void main(String[] args) {
		
		int dan = 1;
		
		while (dan <= 9) {
			for (int i = 1; i <= 9; i++) {
			
				System.out.println(dan+"*"+i +"="+(dan*i));
			
			}
			dan++;
			System.out.println("\n");
		}
			
	}

}

 

2๋ฒˆ : do ~ while ๋ฌธ ์‚ฌ์šฉ

๋”๋ณด๊ธฐ
public class gugudan2 {

	public static void main(String[] args) {
		
		int i = 1;
		int dan = 1;

		
		do {
			if (i < 9) {
				int result = i*dan;
				System.out.println(dan +"*" +i+ "="+result);
				i++;
			} else {
				int result = i*dan;
				System.out.println(dan +"*" +i+ "="+result);
				dan++;
				i = 1;
				System.out.println("\n");
				
			}
				
		} while (dan <= 9);
			
			
	}

}

 

3๋ฒˆ : ๊ดœํžˆ ํ•œ ๋ฒˆ field variable ๋งŒ๋“ค์–ด๋ณด๊ณ , while ๋ฌธ์— break ๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค!

๋”๋ณด๊ธฐ
public class gugudan3 {

	public static int i;
	public static int dan;

	public static void main(String[] args) {
		
		i = 1;
		dan = 1;

		while (true) {
			
			if (i < 9) {
				int result = i * dan;
				System.out.println(dan +"*"+i+"="+result);
				i++;
				
			} else {
				int result = i * dan;
				System.out.println(dan +"*"+i+"="+result);
				dan++;
				i = 1;
				System.out.println("\n");
			}
			
			
			if (dan == 10) {
				break;
			}
		}
			
	}

}

 

๋ฐ˜์‘ํ˜•

+ Recent posts