
작성한 한글 코딩
스택 라이브러리 import
랜덤 객체 생성
횟수를 담을 변수 선언
K(횟수 값)로 위 변수 초기화
합을 저장할 변수 선언
스택 객체 생성
for문으로 k만큼 반복하면서
0부터 100 사이의 수를 무작위로 입력받음
(만약 0이 나오면) {
n-1번째 정수를 pop
}
0이 아니면 {
연달아 스택에 push함
}
(스택이 비어있지 않다면) {
스택을 돌면서 모두 꺼냄
모든 정수의 합을 더함
}
sout(정수 합);
}
해당 한글 코딩에는 랜덤 생성해놨는데 코드업 돌리니까 자꾸 출력결과 다르다고 틀려서 정수 K개만큼 입력받는 걸로 수정
작성한 코드
package stack;
import java.util.Scanner;
import java.util.Stack;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//System.out.print("정수 입력 >>");
int sum = 0;
Stack<Integer> stack = new Stack<Integer>();
int K = sc.nextInt();
for (int i = 0; i < K; i++) {
int num = sc.nextInt();
if(num == 0) {
// System.out.println("0 발생!");
// System.out.print(num+" ");
stack.pop();
} else { // 0이 아닌 숫자가 나왔다면
stack.push(num);
// System.out.print(num+" ");
}
}
if(!stack.isEmpty()) {
for(int v : stack) {
sum += v;
}
}
System.out.println(sum);
}
}
스택을 생각하니 어렵지 않았다!!
'IT > 코딩테스트' 카테고리의 다른 글
| [CodeUp] 3130 : 소들의 헤어스타일 (1) | 2025.06.08 |
|---|---|
| [프로그래머스] 수박수박수박수박수? (0) | 2025.06.03 |
| [프로그래머스] 올바른 괄호 (2) | 2025.06.02 |