개발/Java
[Java] 객체지향으로 문제풀기
suniverse
2023. 1. 31. 23:55
✍
public class test7 {
public static void main(String[] args) {
Road north = new Road(new int[] {70, 80, 60, 20, 30, 50, 10, 80, 77, 89});
Road south = new Road(70, 60, 40, 50, 55, 65, 23, 44, 37, 88);
north.roadInfo();
south.roadInfo();
System.out.println(north.sum(0, 2) + south.sum(2, 9));
Bridge[] bridges = {new Bridge(2), new Bridge(4), new Bridge(6)};
for(Bridge b : bridges) {
b.total = north.sum(0, b.index) + south.sum(b.index, south.arr.length-1);
}
Bridge minBridge = Bridge.min(bridges);
minBridge.bridgeInfo();
}
}
class Bridge {
int index;
int total;
public Bridge(int index) {
this.index = index;
}
public void bridgeInfo() {
System.out.println("다리번호 : " + index);
System.out.println("총시간 : " + total);
}
public static Bridge min(Bridge[] arr) {
Bridge min = arr[0];
for(int i=1; i<arr.length; i++) {
if(min.total > arr[i].total) {
min = arr[i];
}
}
return min;
}
}
class Road{
int[] arr;
public Road(int...nums) {
this.arr = nums;
}
public void roadInfo() {
for(int i=0; i<arr.length; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
}
public int sum(int startIndex, int endIndex) {
int sum=0;
for(int i=startIndex; i<=endIndex; i++) {
sum += arr[i];
}
return sum;
}
}