인력관리소 운영하기

인철·2023년 10월 13일
0

algorithm

목록 보기
36/91

자바 문제

문제 - 인력관리소를 운영해주세요.

class Main {
	public static void main(String[] args) {
		사람인력관리소 a사람인력관리소 = new 사람인력관리소();
		
		a사람인력관리소.add사람("홍길순", 33);
		// 나이가 33살인 1번째 사람(홍길순)이 추가되었습니다.
		a사람인력관리소.add사람("홍길동", 20);
		// 나이가 20살인 2번째 사람(홍길동)이 추가되었습니다.
		a사람인력관리소.add사람("임꺽정", 30);
		// 나이가 30살인 3번째 사람(임꺽정)이 추가되었습니다.
		
		사람 a사람1 = a사람인력관리소.get사람(1);
		a사람1.자기소개();
		// 저는 1번, 홍길순, 33살 입니다.
		
		사람 a사람2 = a사람인력관리소.get사람(2);
		a사람2.자기소개();
		// 저는 2번, 홍길동, 20살 입니다.
		
		사람 a사람3 = a사람인력관리소.get사람(3);
		a사람3.자기소개();
		// 저는 3번, 임꺽정, 30살 입니다.
	}
}

====================================================================
정답V1

class Main {
	public static void main(String[] args) {
		사람인력관리소 a사람인력관리소 = new 사람인력관리소();
		
		a사람인력관리소.add사람("홍길순", 33);
		// 나이가 33살인 1번째 사람(홍길순)이 추가되었습니다.
		a사람인력관리소.add사람("홍길동", 20);
		// 나이가 20살인 2번째 사람(홍길동)이 추가되었습니다.
		a사람인력관리소.add사람("임꺽정", 30);
		// 나이가 30살인 3번째 사람(임꺽정)이 추가되었습니다.
		
		사람 a사람1 = a사람인력관리소.get사람(1);
		a사람1.자기소개();
		// 저는 1번, 홍길순, 33살 입니다.
		
		사람 a사람2 = a사람인력관리소.get사람(2);
		a사람2.자기소개();
		// 저는 2번, 홍길동, 20살 입니다.
		
		사람 a사람3 = a사람인력관리소.get사람(3);
		a사람3.자기소개();
		// 저는 3번, 임꺽정, 30살 입니다.
	}
}

class 사람인력관리소 {
	사람 a처음사람;
	사람 a두번째사람;
	사람 a세번째사람;
	// 기본적으로 `0` 이 들어간다.
	int 가장_마지막에_추가된_사람번호;

	void add사람(String 이름, int 나이) {
		사람 a사람 = new 사람();
		a사람.번호 = this.가장_마지막에_추가된_사람번호 + 1;
		a사람.이름 = 이름;
		a사람.나이 = 나이;
		
		System.out.println("나이가 " + a사람.나이 + "살인 " + a사람.번호 + "번째 사람(" + a사람.이름 + ")이 추가되었습니다.");
		
		if ( a사람.번호 == 1 ) {
			a처음사람 = a사람;
		}
		else if ( a사람.번호 == 2 ) {
			a두번째사람 = a사람;
		}
		else if ( a사람.번호 == 3 ) {
			a세번째사람 = a사람;
		}
		
		this.가장_마지막에_추가된_사람번호 = a사람.번호;
	}
	
	사람 get사람(int 번호) {
		사람 a사람 = null;
		
		if ( 번호 == 1 ) {
			a사람 = a처음사람;
		}
		else if ( 번호 == 2 ) {
			a사람 = a두번째사람;
		}
		else if ( 번호 == 3 ) {
			a사람 = a세번째사람;
		}
		
		return a사람;
	}
}

class 사람 {
	int 번호;
	int 나이;
	String 이름;
	
	void 자기소개() {
		System.out.println("저는 " + 번호 + "번, " + 이름 + ", " + 나이 + "살 입니다.");
	}
}


=============================================================================================
정답V2

class Main {
	public static void main(String[] args) {
		사람인력관리소 a사람인력관리소 = new 사람인력관리소();
		a사람인력관리소.add사람("홍길순", 33);
		// 나이가 33살인 1번째 사람(홍길순)이 추가되었습니다.
		a사람인력관리소.add사람("홍길동", 20);
		// 나이가 20살인 2번째 사람(홍길동)이 추가되었습니다.
		a사람인력관리소.add사람("임꺽정", 30);
		// 나이가 30살인 3번째 사람(임꺽정)이 추가되었습니다.
		a사람인력관리소.add사람("임꺽순", 50);
		// 나이가 50살인 4번째 사람(임꺽순)이 추가되었습니다.
		a사람인력관리소.add사람("임선달", 52);
		// 나이가 52살인 5번째 사람(임선달)이 추가되었습니다.
		사람 a사람1 = a사람인력관리소.get사람(1);
		a사람1.자기소개();
		// 저는 1번, 홍길순, 33살 입니다.
		사람 a사람2 = a사람인력관리소.get사람(2);
		a사람2.자기소개();
		// 저는 2번, 홍길동, 20살 입니다.
		사람 a사람3 = a사람인력관리소.get사람(3);
		a사람3.자기소개();
		// 저는 3번, 임꺽정, 30살 입니다.
		사람 a사람4 = a사람인력관리소.get사람(4);
		a사람4.자기소개();
		// 저는 4번, 임꺽순, 50살 입니다.
		사람 a사람5 = a사람인력관리소.get사람(5);
		a사람5.자기소개();
		// 저는 5번, 임선달, 52살 입니다.
	}
}
class 사람인력관리소 {
	사람[] 사람들;
	int 마지막_사람_번호;
	사람인력관리소() {
		마지막_사람_번호 = 0;
		사람들 = new 사람[100];
	}
	void add사람(String 이름, int 나이) {
		int 번호 = 마지막_사람_번호 + 1;
		사람 a사람 = new 사람();
		a사람.번호 = 번호;
		a사람.이름 = 이름;
		a사람.나이 = 나이;
		사람들[번호 - 1] = a사람;
		System.out.printf("나이가 %d살인 %d번째 사람(%s)이 추가되었습니다.\n", 나이, 번호, 이름);
		마지막_사람_번호 = 번호;
	}
	사람 get사람(int 번호) {
		return 사람들[번호 - 1];
	}
}
class 사람 {
	int 번호;
	String 이름;
	int 나이;
	void 자기소개() {
		System.out.printf("저는 %d번, %s, %d살 입니다.\n", 번호, 이름, 나이);
	}
}
profile
같은글이있어도양해부탁드려요(킁킁)

0개의 댓글