1. 클래스 자료형
- 단일 데이터를 저장하기 위해 필요한 요소 변수, 자료형
- 동일한 자료형의 여러 데이터를 저장하기 위한 요소 : 배열
- 서로 다른 자료형의 여러 데이터를 저장하기 위한 요소 : 구조체(C언어) , 클래스 (C++, Java)
- 서로 다른 자료형의 데이터를 저장할 수 있는 변수를 가지고 있다
- 클래스에 의해 생성된 데이터를 객체라고 한다
2. 클래스의 구성 요소
package _class;
class Score {
int kor, eng, mat;
void show() {
System.out.println("국어점수 : " + kor);
System.out.println("영어점수 : " + eng);
System.out.println("수학점수 : " + mat);
}
}
<
public class Ex02 {
public static void main(String[] args) {
int[] arr = { 100, 99, 87 };
System.out.println("국어점수 : " + arr[0]);
System.out.println("영어점수 : " + arr[1]);
System.out.println("수학점수 : " + arr[2]);
Score ob = new Score();
ob.kor = 100;
ob.eng = 99;
ob.mat = 87;
ob.show();
}
}
package _class;
class Coffee {
String menu;
int price;
Coffee(String menu, int price) {
this.menu = menu;
this.price = price;
}
Coffee() {
}
void show() {
System.out.printf("%s 한잔 가격은 %,d원 입니다.\n",menu,price);
}
}
public class Ex03 {
public static void main(String[] args) {
Coffee coffee1 = new Coffee("아메리카노", 2000);
Coffee coffee2 = new Coffee("카페라떼", 2500);
Coffee coffee3 = new Coffee("토피넛라떼",3500);
Coffee coffee4 = new Coffee();
Coffee[] coffee = {coffee1, coffee2, coffee3 , coffee4 };
for(int i = 0; i < coffee.length; i++) {
coffee[i].show();
}
}
}
3. 카카오 개발자 인턴쉽 문제 (인형뽑기 게임 알고리즘 구현)
package programmers;
import java.util.ArrayList;
public class Quiz64061 {
static int solution(int[][] board, int[] moves) {
int answer = 0;
ArrayList<Integer> basket = new ArrayList<Integer>();
for(int i = 0; i < moves.length; i++) {
int doll = 0;
int index = moves[i] - 1;
for(int j = 0; j < board.length; j++) {
if(board[j][index] != 0) {
doll = board[j][index];
board[j][index] = 0;
break;
}
}
System.out.print(doll + " ");
if(doll != 0) {
basket.add(doll);
}
int size = basket.size();
if(size >= 2 && basket.get(size - 1) == basket.get(size - 2)) {
System.out.println("중복된 인형 터트리기");
basket.remove(size - 1);
basket.remove(size - 2);
answer += 2;
}
System.out.println(basket);
}
System.out.println();
return answer;
}
static int solution2(int[][] board, int[] moves) {
int answer = 0;
ArrayList<Integer> basket = new ArrayList<Integer>();
for(int i = 0; i < moves.length; i++) {
int doll = 0;
int index = moves[i] - 1;
for(int j = 0; j < board.length; j++) {
if(board[j][index] != 0) {
doll = board[j][index];
board[j][index] = 0;
break;
}
}
if(doll != 0) basket.add(doll);
int size = basket.size();
if(size >= 2 && basket.get(size - 1) == basket.get(size - 2)) {
basket.remove(size - 1);
basket.remove(size - 2);
answer += 2;
}
}
return answer;
}
public static void main(String[] args) {
int[][] board = {
{0, 0, 0, 0, 0},
{0, 0, 1, 0, 3},
{0, 2, 5, 0, 1},
{4, 2, 4, 4, 2},
{3, 5, 1, 3, 1}
};
int[] moves = {1, 5, 3, 5, 1, 2, 1, 4};
int answer = solution2(board, moves);
System.out.println(answer == 4);
}
}