Java version : 11
lombok 1.18.30
짝과 함께 풀 수 있는 문제를 내보고 풀어봤다.
짝꿍을 위한 예제
상암동 필라테스 가격 비교 프로그램을 만들어 주세요.
Pilates : name(업체명), program(업체에서 운영하는 프로그램명), price(프로그램의 가격 - 한 달 기준)
밑의 리스트 중 가장 저렴한 프로그램을 운영하는 업체명과 프로그램명을 출력해주세요.
Pilates
package fisa.model.domain;
import lombok.Getter;
import lombok.Setter;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class Pilates {
private String name;
private String program;
private int price;
}
main()
/* 짝꿍을 위한 예제 */
/*
* 상암동 필라테스 가격 비교 프로그램을 만들어 주세요.
* Pilates : name(업체명), program(업체에서 운영하는 프로그램명), price(프로그램의 가격 - 한 달 기준)
* 밑의 리스트 중 가장 저렴한 프로그램을 운영하는 업체명과 프로그램명을 출력해주세요.
* */
Pilates[] pilates = {new Pilates("상암필라테스", "핫요가", 120_000),
new Pilates("상암필라테스", "하타요가", 100_000),
new Pilates("상암필라테스", "힐링", 90_000),
new Pilates("마포요가", "요가", 50_000),
new Pilates("JTBC헬스", "빈야사", 100_000),
new Pilates("JTBC헬스", "아쉬탕가", 190_000),
};
printArray(pilates);
printArray
static void printArray(Pilates[] pilates) {
/* 방법 1 : 정렬해서 0번째 인덱스 찾기 */
Arrays.sort(pilates, new Comparator<Pilates>() {
@Override
public int compare(Pilates p1, Pilates p2) {
return p1.getPrice() - p2.getPrice();
}
});
System.out.println("상암동에서 가장 저렴한 필라테스는 바로...");
System.out.println("업체명 : " + pilates[0].getName());
System.out.println("프로그램명 : " + pilates[0].getProgram());
System.out.println("가격 : " + pilates[0].getPrice());
}
원래는 방법 2로 풀었었는데 정렬 후 가장 첫 번째 값을 출력하면 될 것 같다는 의견에 리팩토링 해보았다.
Pilates type의 두 번째 인덱스에 있는 가격을 기준으로 정렬하기 위해 Comparator의 compare를 Overriding하여 사용했다.
static void printArray(Pilates[] pilates) {
int min = Integer.MAX_VALUE;
int index = -1;
/* 방법 2 : 최솟값 찾기 */
for(int i = 0; i < pilates.length; i++) {
if(pilates[i].getPrice() < min) {
min = pilates[i].getPrice();
index = i;
}
}
System.out.println("상암동에서 가장 저렴한 필라테스는 바로...");
System.out.println("업체명 : " + pilates[index].getName());
System.out.println("프로그램명 : " + pilates[index].getProgram());
System.out.println("가격 : " + pilates[index].getPrice());
}
결과
상암동에서 가장 저렴한 필라테스는 바로...
업체명 : 마포요가
프로그램명 : 요가
가격 : 50000
'Java' 카테고리의 다른 글
Spring Boot H2 Database 사용하기 (0) | 2023.12.27 |
---|---|
자바 입문 전 알아두면 좋은 것 2 (0) | 2023.12.14 |
Eclipse 개발 환경 세팅 (1) | 2023.11.21 |
Java 입문 전 알아두면 좋은 것 (0) | 2023.11.14 |
[Spring Boot] Lombok (0) | 2023.10.24 |