Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

입부테스트 문제 풀이 #6

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .DS_Store
Binary file not shown.
6 changes: 6 additions & 0 deletions .classpath
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="src" path=""/>
<classpathentry kind="output" path=""/>
</classpath>
23 changes: 23 additions & 0 deletions .project
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>2025-SS-welcome-test</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.wst.validation.validationbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
</natures>
</projectDescription>
7 changes: 7 additions & 0 deletions .settings/.jsdtscope
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/>
<classpathentry kind="src" path=""/>
<classpathentry kind="output" path=""/>
</classpath>
1 change: 1 addition & 0 deletions .settings/org.eclipse.wst.jsdt.ui.superType.container
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
org.eclipse.wst.jsdt.launching.JRE_CONTAINER
1 change: 1 addition & 0 deletions .settings/org.eclipse.wst.jsdt.ui.superType.name
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Global
Binary file added answer/.DS_Store
Binary file not shown.
Binary file added java_test/.DS_Store
Binary file not shown.
12 changes: 12 additions & 0 deletions java_test/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
/Fan.class
/a.class
/b.class
/c.class
/d.class
/e.class
/f.class
/g1.class
/g2.class
/Book.class
/EBook.class
/PrintedBook.class
9 changes: 5 additions & 4 deletions java_test/a.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
package java_test;
import java.util.*;

public class a {
public static void main(String[] args) {

// 이 부분에 code를 작성해주세요!

Scanner sc=new Scanner(System.in);
String str=sc.nextLine();
StringBuffer sb=new StringBuffer(str);
System.out.println(sb.reverse());
}

}
16 changes: 12 additions & 4 deletions java_test/b.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,18 @@
package java_test;
import java.util.*;

public class b {
public static void main(String[] args) {

// 이 부분에 code를 작성해주세요!

Scanner sc=new Scanner(System.in);
String str=sc.nextLine();
String[] arr= {"a", "e", "i", "o", "u"};

for(String s : arr) {
if(str.contains(s)) {
System.out.println("O");
System.exit(0);
}
}
System.out.println("X");
}

}
14 changes: 10 additions & 4 deletions java_test/c.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,16 @@
package java_test;
import java.util.*;

public class c {
public static void main(String[] args) {

// 이 부분에 code를 작성해주세요!

Scanner sc=new Scanner(System.in);
int num1=sc.nextInt();
int num2=sc.nextInt();

if(num1<14 && num2<155) {
System.out.println("O");
}else {
System.out.println("X");
}
}

}
15 changes: 11 additions & 4 deletions java_test/d.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,17 @@
package java_test;
import java.util.*;

public class d {
public static void main(String[] args) {

// 이 부분에 code를 작성해주세요!

Scanner sc=new Scanner(System.in);
while(true) {
int num=sc.nextInt();
if(num<=0) {
System.out.println("X");
break;
}
System.out.println(num*(num+1)/2);
break;
}
}

}
18 changes: 14 additions & 4 deletions java_test/e.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,20 @@
package java_test;
import java.util.*;

public class e {
public static void main(String[] args) {

// 이 부분에 code를 작성해주세요!

Scanner sc=new Scanner(System.in);
int num1=sc.nextInt();
int num2=sc.nextInt();

if(num2==4 || num2==6 || num2==9 || num2==11) {
System.out.println("30");
}else if(num1%4==0 && (num1%100!=0 || num1%400==0) && num2==2) {
System.out.println("29");
}else if(num2==2) {
System.out.println("28");
}else {
System.out.println("31");
}
}

}
20 changes: 14 additions & 6 deletions java_test/f.java
Original file line number Diff line number Diff line change
@@ -1,12 +1,20 @@
package java_test;

// 이부분에 class 선언 해도 괜찮습니다
import java.util.*;

public class f {
public static void main(String[] args) {

// 이 부분에 code를 작성해주세요!

Scanner sc=new Scanner(System.in);
int num=sc.nextInt(), p=1;

for(int i=1, j=num-1; i>0 ;i+=p*2, j-=p) {
if(i>num*2) {
p*=-1;
i+=p*2; j-=p;
continue;
}
for(int k=0; k<j ;k++) System.out.print(" ");
for(int k=0; k<i ;k++) System.out.print("*");
System.out.println();
}
}

}
57 changes: 45 additions & 12 deletions java_test/g1.java
Original file line number Diff line number Diff line change
@@ -1,12 +1,45 @@
package java_test;

// 이부분에 class 선언 해도 괜찮습니다

public class g1 {
public static void main(String[] args) {

// 이 부분에 code를 작성해주세요!

}

}
package java_test;
import java.util.*;

class Fan implements Comparable<Fan> {
private String model;
private int price;

Fan(String model, int price) {
this.model=model;
this.price=price;
}

String getModel() { return model; }
int getPrice() { return price; }

@Override
public int compareTo(Fan o) {
if(this.price>o.price) {
return 1;
}else if(this.price<o.price) {
return -1;
}else {
return 0;
}
}
}

public class g1 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
ArrayList<Fan> fan=new ArrayList<>();

for(int i=0; i<3 ;i++) {
if(i!=0) sc.nextLine();
String model=sc.nextLine();
int price=sc.nextInt();
fan.add(new Fan(model, price));
}

Collections.sort(fan);
System.out.println(fan.get(0).getModel());

}
}

106 changes: 94 additions & 12 deletions java_test/g2.java
Original file line number Diff line number Diff line change
@@ -1,12 +1,94 @@
package java_test;

// 이부분에 class 선언 해도 괜찮습니다

public class g2 {
public static void main(String[] args) {

// 이 부분에 code를 작성해주세요!

}

}
package java_test;
import java.util.*;

abstract class Book implements Comparable<Book> {
String title;
int price;
double rating;

@Override
public int compareTo(Book o) {
if(this.rating>o.rating) {
return -1;
}else if(this.rating<o.rating) {
return 1;
}else {
return 0;
}
}

abstract int getExtra();
}

class EBook extends Book {
int fileSize;

EBook(String title, int price, double rating, int fileSize) {
this.title=title;
this.price=price;
this.rating=rating;
this.fileSize=fileSize;
}

int getExtra() { return fileSize; }
}

class PrintedBook extends Book {
int pageCount;

PrintedBook(String title, int price, double rating, int pageCount) {
this.title=title;
this.price=price;
this.rating=rating;
this.pageCount=pageCount;
}

int getExtra() { return pageCount; }
}

public class g2 {
public static void main(String[] args) {
ArrayList<Book> arr=new ArrayList<>();
Scanner sc=new Scanner(System.in);
boolean isFirst=true;
for(int i=0; i<3 ;i++) {
if(!isFirst) sc.nextLine();
String genre=sc.nextLine();
if(!genre.equals("EBook") && !genre.equals("PrintedBook")) {
System.out.println("Invalid book type. Please enter 'EBook' or 'PrintedBook'.");
isFirst=true;
i--;
continue;
}
String title=sc.nextLine();
try {
int price=sc.nextInt();
double rating=sc.nextDouble();
int extra=sc.nextInt();

if(genre.equals("EBook")) {
arr.add(new EBook(title, price, rating, extra));
}else {
arr.add(new PrintedBook(title, price, rating, extra));
}
}catch(Exception e) {
System.out.println("잘못된 입력입니다. 처음부터 다시 입력하세요.");
i--;
}
isFirst=false;
}

Collections.sort(arr);
Book book=arr.get(0);
System.out.println("Highest rated book information:");
System.out.println("Title: "+book.title);
System.out.println("Price: "+book.price);
System.out.println("Rating: "+book.rating);
if(book.getClass().getName().contains("Printed")) {
System.out.println("Page Count: "+book.getExtra());
}else {
System.out.println("File Size: "+book.getExtra());
}
}
}