개발후라이
개발후라이
개발후라이
  • 분류 전체보기 (287) N
    • Web Front End (76) N
      • Javascript & Typescript (26)
      • React (12)
      • Vue (4)
      • Nodejs (1)
      • HTML (6)
      • CSS (8) N
      • HTTP (6)
      • 책 - Review (8)
    • TIL (0)
    • Problem Solved (135)
      • 알고리즘 (4)
      • BOJ (67)
      • Programmers (8)
      • HackerRank (33)
      • LeetCode (23)
    • 회고 (4)
      • 오늘의 회고 (16)
      • 주간 회고 (15)
      • 월간 회고 (7)
      • WakaTime (9)
    • Git (3)
    • 기타 (15)
      • 취업 (5)
      • 자격증 (1)

블로그 메뉴

  • GitHub
  • LinkedIn
  • 홈

인기 글

태그

  • 오늘의회고
  • 노마드북클럽
  • 릿코드
  • 회고
  • 노개북
  • 프론트엔드
  • JavaScript
  • 자바스크립트
  • 개발자
  • TypeScript

최근 댓글

최근 글

전체 방문자
오늘
어제

티스토리

hELLO · Designed By 정상우.
개발후라이

개발후라이

Problem Solved/BOJ

[BOJ][Java] 10773번 - 제로

2020. 2. 21. 11:43
반응형

문제

백준 10773번 문제: 제로

문제 설명

가장 최근에 쓴 수를 지우는 문제

Stack을 이용해 푸는 문제이다.

풀이 과정

  1. k만큼 반복문을 돌면서 그 값이 0인지 아닌지를 판별한다.
  2. 0이 아니면 stack에 넣고 0이면 pop하여 가장 최신의 값을 뺀다.
  3. 최종 값을 계산하기 위해 stack이 비어있는지 확인한다.
  4. 비어 있으면 0을 출력한다.
  5. 값이 있으면 모든 숫자를 pop하면서 더하고 더한 값을 출력한다.

성공 코드

import java.util.Scanner;
import java.util.Stack;

public class Main{
    public static void main(String[] args){
        Scanner s=new Scanner(System.in);
        int k, sum;
        k = s.nextInt();
        Stack<Integer> stack = new Stack<Integer>();
        sum = 0;

        for (int i = 0; i < k; i++){
            int n = s.nextInt();

            if (n != 0) { stack.push(n); }
            else { stack.pop(); }
        }

        if (stack.isEmpty()) {System.out.print(0);}
        else {
            while (stack.size() > 0) sum += stack.pop();
            System.out.print(sum);
        }
    }
}
반응형
저작자표시 (새창열림)
    'Problem Solved/BOJ' 카테고리의 다른 글
    • [BOJ][Nodejs] 1676번 - 팩토리얼 0의 개수
    • [BOJ][Java] 9012번 - 괄호
    • [BOJ][Java] 10828번 - 스택
    • [BOJ][Java] 2981번 - 검문
    개발후라이
    개발후라이
    어제보다 오늘 발전하기 위한 공간 https://github.com/choisohyun

    티스토리툴바