https://www.acmicpc.net/problem/2920
첫번째 풀이(오름차순, 내림차순 배열 사용X)
- 정답인 배열을 생성하고 맞으면 출력하는 방식
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int[] ascending = new int[] {1,2,3,4,5,6,7,8};
Boolean Isascending = true;
int[] descending = new int[] {8,7,6,5,4,3,2,1};
Boolean Isdescending = true;
Scanner sc = new Scanner(System.in);
int[] list = new int[8];
for(int i = 0; i<list.length; i++) {
list[i] = sc.nextInt();
}
for(int i=0;i<list.length;i++) {
if(list[i] != ascending[i]) {
Isascending = false;
break;
}
}
for(int i=0;i<list.length;i++) {
if(list[i] != descending[i]) {
Isdescending = false;
break;
}
}
if(Isascending) {
System.out.println("ascending");
}else if(Isdescending) {
System.out.println("descending");
}else {
System.out.println("mixed");
}
}
}
두번째 풀이(오름차순, 내림차순 배열 사용O)
- 배열이 오름차순인지 내림차순인지 확인하는 알고리즘
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Boolean Isascending = true;
Boolean Isdescending = true;
Scanner sc = new Scanner(System.in);
int[] list = new int[8];
for(int i = 0; i<list.length; i++) {
list[i] = sc.nextInt();
}
for(int i=1;i<list.length;i++) {
if(list[i-1]<list[i]) {
Isdescending = false;
} else if (list[i-1]>list[i]) {
Isascending = false;
}
}
if(Isascending) {
System.out.println("ascending");
}else if(Isdescending) {
System.out.println("descending");
}else {
System.out.println("mixed");
}
}
}