스택의 문제였고 쉬웠지만 작은특이점이 있는 문제이다.
나의 풀이는 아래와 같다.
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int tall[]=new int[n];
for(int i=0;i<n;i++) {
tall[i]=sc.nextInt();
}
long answer=0;
for(int i=0;i<n-1;i++) {
for(int j=i+1;j<n;j++) {
if(tall[i]>tall[j])
answer++;
else
break;
}
}
System.out.println(answer);
}
}
특이점은 long자료형을 쓴 것이다.
처음에 int로 썼다가 11개의 테스트 케이스중 11번째에서 실패했다.
소가 최대 80000마리가 존재할 수 있다.
만약 소가 80000마리로 주어지고 내림차순으로 정렬되어 있다면 80000!와 가까운 수가 정답일 것이다.
이 때의 답은 int형으로 나타낼 수 없다.
아래의 표를 참고하자.
종류 | 데이터형 | 크기(byte/bit) | 표현 범위 |
논리형 | boolean | 1/8 | true/false |
문자형 | char | 2/16 | '\u0000' ~ 'uFFFF' (16비트 유니코드 문자 데이터) |
정수형 | byte | 1/8 | -128 ~ 127 |
short | 2/16 | -32768 ~ 32767 | |
int | 4/32 | -2147483648 ~ 2147483647 | |
long | 8/64 | -9223372036854775808 ~ 9223372036854775807 |
|
실수형 | float | 4/32 | 1.4E-45 ~ 3.4028235E38 |
double | 8/64 | 4.9E-324 ~ 1.7976931348623157E308 |
'Computer Engineering > 알고리즘 테스트' 카테고리의 다른 글
백준[1417]- 국회의원 선거 (0) | 2021.02.05 |
---|---|
백준[1654]-랜선자르기 (0) | 2021.02.05 |
코드업[3021]- 큰 수 덧셈 (0) | 2021.01.04 |
코드업[3321]- 최고의 피자🍕 (0) | 2021.01.03 |
코드업[3120]-리모컨 (0) | 2021.01.03 |