Hackerrank | Maximum Element
7890 ワード
Link
https://www.hackerrank.com/challenges/maximum-element/problem
Problem
1のバックスタックにプッシュ
両面pop
3出力現在のスタックに格納されている最大値を示します
Code
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
int top = 0, max = 0;
int stack[1000000] = { 0 };
void push();
void pop();
int main() {
int n;
int type;
int num;
scanf("%d", &n);
while (n--)
{
scanf("%d", &type);
if (type == 1)
push();
else if (type == 2)
pop();
else
printf("%d\n", max);
}
return 0;
}
void push()
{
int i;
scanf("%d", &i);
top++;
stack[top] = i;
if (max < stack[top]) //최대값 찾는 과정
max = stack[top];
}
void pop()
{
int i;
if (max == stack[top])
max = 0; //현재 나가는 값이 최대값이면 최대값=0
top--;
for (i = top; i >= 0; i--) //다시 최대값 찾기
{
if (max < stack[i])
max = stack[i];
}
}
Result
Reference
この問題について(Hackerrank | Maximum Element), 我々は、より多くの情報をここで見つけました https://velog.io/@2rlo/Hackerrank-Maximum-Elementテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol