김기헌
Algorithm - 2차원 배열에서 min, max value 찾기 + 다형성 적용
public class MaxAndMin {
public static int getMaxOrMin(int[] arr, Compare compare) {
// loop 구성
int targetValue = arr[0];
for (int i = 1; i < arr.length; i++) {
boolean isSth = compare.doSomething(arr[i], targetValue);
if (isSth) {
targetValue = arr[i];
}
}
return targetValue;
}
public static int max(int[] arr) {
return getMaxOrMin(arr, new Compare() {
@Override
public boolean doSomething(int valueA, int valueB) {
return valueA > valueB;
}
});
}
public static int min(int[] arr) {
return getMaxOrMin(arr, new Compare() {
@Override
public boolean doSomething(int valueA, int valueB) {
return valueA < valueB;
}
});
}
public static void main(String[] args) {
int[] arr = new int[]{3, 29, 38, 12, 57, 74, 40, 85, 61};
int max = max(arr);
int min = min(arr);
System.out.println(max);
System.out.println(min);
}
}
Java
복사
Database
•
Table 생성 및 데이터 삽입
//테이블 생성
CREATE TABLE `likelion-db`.`seoul_hospital`(
`id` VARCHAR(8) NOT NULL,
`address` VARCHAR(90) NOT NULL COMMENT '전체 주소',
`district` VARCHAR(15) NOT NULL COMMENT '서울시 xx구',
`category` VARCHAR(1) NOT NULL COMMENT '병원 분류\nC의원\nE한방병원\nN치과의원\n...추가 작성\n',
`emergency_room` INT NOT NULL comment '응급실 운영여부\n1 운영\n2 운영안함\n',
`name` VARCHAR(40) NOT NULL COMMENT '병원 이름',
`subdivision` VARCHAR(10) NULL COMMENT '세부 분과\n피부과, 성형외과, 외과, 내과 등등',
PRIMARY KEY (`id`));
SQL
복사
//데이터 삽입
INSERT INTO `likelion-db`.`seoul_hospital`
(`id`, `address`, `district`, `category`, `emergency_room`, `name`, `subdivision`)
VALUES
('A1104130', '서울특별시 강남구 도산대로 118 (논현동 신사빌딩 2층)', '서울특별시 강남구',
'C', 2, '365엠씨의원',
null);
SQL
복사
•
.sql 스크립트 파일로 Mysql Workbench에서 삽입
•
Java로 .sql파일 만들어 읽기
SQL
복사
CodeUp 1051 ~ 1060
김상호
조국현
최대값 찾기 알고리즘
public class Max04 {
// arr을 받아서 최대값을 구해서 int로 리턴함
public int getMax(int[] arr) {
//loop 구성
int maxValue = arr[0]; // arr이 모두 음수인 경우 0으로 하면 0이 max
for (int i = 1; i < arr.length; i++) {
if (arr[i] > maxValue) {
maxValue = arr[i];
}
}
return maxValue;
}
public static void main(String[] args) {
int[] arr = new int[]{3, 29, 38, 12, 57, 74, 40, 85, 61};
arr = new int[]{-3, -29, -38, -12, -57, -74, -40, -85, -61};
Max04 max02 = new Max04();
int result = max02.getMax(arr);
if (result == -3) {
System.out.println("테스트 통과 했습니다.");
} else {
System.out.println("테스트 실패 입니다. result:" + result);
}
}
}
Java
복사
최대값을 찾는 알고리즘을 처음부터 다루었다. 여기서 maxValue 를 배열의 첫 번째 값으로 지정해주어야 오류가나지 않는다. (기초단계에서는 0으로 해두고 if문을 걸어 찾는 방법 사용함)
그 후 아래의 main 메소드에서는 테스트 코드를 작성한다. (이런 습관을 들이라고 하심)
최소값을 찾는 알고리즘은, 부등호의 방향만 반대로 해주면 된다.
최대값 찾기 알고리즘 리팩토링
인터페이스, 콜백, 오버라이딩을 통해 리팩토링하여 진행함. (아직 확실히 이해못함)
MySQL에서 data insert
10/11 수업에서 다루었던 쿼리들을 복습할 수 있었다.
INSERT INTO문을 매번 제각기 작성했는데,
INSERT INTO `likelion-db`.`seoul_hospital`(`id`,`address`,`district`,`category`,`emergency_room`,`name`,`subdivision`)
VALUES
('B1100027','서울특별시 강남구 도산대로 118 (논현동 신사빌딩 2층)
','서울특별시 강남구','C',2,'365엠씨의원',null),
('A1117873','서울특별시 강남구 도산대로 118 (논현동 신사빌딩 2층)
','서울특별시 강남구','C',2,'365엠씨의원',null)
;
SQL
복사
로 작성하면 여러 row 값을 한 번에 insert 할 수 있다.