스택문제 백준 1874
강의내용의 코드가 헷갈려서 아래내용대로 수정해보았는데 이렇게 해도 될까요 ?
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt(); // 수열의 개수
int A[] = new int[N]; // 수열을 저장할 배열
// 데이터 입력
for (int i = 0; i < N; i++) {
A[i] = sc.nextInt();
}
Stack<Integer> stack = new Stack<>();
StringBuffer bf = new StringBuffer(); // 연산 출력 저장
int num = 1;
for (int i = 0; i < N; i++) {
int su = A[i];
while (su >= num) { // 현재 수가 스택의 수와 같거나 큰 경우
stack.push(num++);
bf.append("+\n");
}
if (stack.isEmpty() || stack.peek() != su) {
System.out.println("NO");
return;
}
stack.pop();
bf.append("-\n");
}
System.out.println(bf.toString()); // 결과 출력
}
}
回答 1
0
안녕하세요! 네 모든 문제에 대한 해석과 풀이등은 다 다를 수 있고 구현방식도 당연히 다를 수 있기 때문에 당연히 되실 것 같습니다!! 실제 해당 방식으로 풀어내셔도 정답이 되는 것으로 보입니다. ^-^
좋은하루 되세요 ~
백준 1940 주몽의 명령 시간복잡도
0
59
0
다음영상이 문제 풀이 영상이라고 하셨는데 문제풀이 영상이 누락되어있는 것 같습니다
0
127
1
코딩테스트 디버깅
0
347
1
탐색 순서 질문
0
148
1
[P11726 2*N 타일채우기] top down 방식을 사용하니 런타임 에러가 발생합니다.
0
105
1
2018 연속된 자연수의 합 구하기 백준 사이트에서 메모리 초과 오류가 발생합니다.
0
201
1
1강 시간복잡도 중간에 중첩for문 직전에 상수는 상관없어요 하신 부분이 이해가 안됩니다
0
159
1
왜 int, long은 안되는지 궁금합니다.
0
224
1
DNA 비밀번호 (백준 12891) 통과가 안됩니다.
0
525
2
LCA 빠르게 구하기 Java 코드 시간초과
0
244
1
백준11659 구간합 런타임 에러
0
306
1
백준 2178 미로탐색 질문 입니다.
0
448
1
구간합구하기1 (백준11659)
0
422
1
혹시 다른 ide에서 잘 돌아가는 프로그램이
0
349
1
내림차순으로 정렬하기 강의에서..
0
267
1
백준 11720 숫자의 합 질문 있습니다
0
433
1
(숫자의 합)1<=N <=100 사이의 값
0
383
1
소수구하기-백준 1929 질문
0
350
1
12891_DNA비밀번호
0
633
3
숫자의 합 구하기
0
391
1
안녕하세요 질문있습니다.
0
336
0
union 코드에 질문 있습니다.
0
401
2
[그리디 실전 문제] 최솟값을 만드는 괄호 배치 찾기 (백준 1541) - 반례를 못찾겠습니다 ㅠㅠ
1
309
1
[이진 탐색 실전 문제] 원하는 정수 찾기 편 질문
0
505
1

