골3 오등큰수 문제는 오큰수에서 그냥 등호조건 비교 넣은 버전이여서 골3이랑 골4가 별다를바가없음..
추가적으로 골2도 같은 포맷이라 골1을 도전해보았다..
결과는 처참했지만..그래도 정리를 위해 기록.. 골1~골2 문제 하나를 더 풀어봐야겠다..
https://www.acmicpc.net/problem/3015
소스코드
import java.io.*;
import java.util.*;
public class Main {
// 저장할 타입
static class people{
int height;
int count;
public people(int height, int count) {
this.height = height;
this.count = count;
}
}
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int k = Integer.parseInt(br.readLine());
long answer = 0;
//저장할스택
Stack<people> s =new Stack<>();
// 진행
for(int i=0;i<k;i++) {
//입력받기
int cur = Integer.parseInt(br.readLine());
// 본인과 매칭 성공시 갯수니까 1로 초기화
people cp = new people(cur,1);
while(!s.isEmpty()) {
//위에 꺼내오기
people sp = s.peek();
if(sp.height==cur) { // if문으로 값이 같으면 꺼내고 현재꺼의 갯수 ++
answer += sp.count;
cp.count += sp.count;
s.pop();
continue;
}
// 안에 들어있는게 더크면 거기있는 1개만 매칭이 가능하므로 1개 ++ 후 종료
else if(sp.height>cur) {
answer ++;
break;
}
// 작거나 같은경우에는 갯수만큼 매칭이 가능하니까 count 갯수만큼 더해줌
answer += sp.count;
s.pop();
}
//만든 cp 넣어주기
s.add(cp);
}
System.out.println(answer);
}
}
결과.. 너무많이 실패했따 ㅠ