본문 바로가기

스택

(4)
[프로그래머스] 괄호 회전하기 (파이썬) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/76502 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 문자열을 이용한 문제를 몇번 풀어보았다면 쉽게 풀리는 문제였다. 나는 다음과 같이 문제를 접근했다. 1. 문자열을 회전 시켜 새로운 문자열을 만든다. 2. 새로운 문자열에 대해서 올바른 괄호 문자열인지 판별한다 2-1. 올바른 괄호 문자열일 경우 answer+1를 해준다. 2-2. 올바른 문자열이 아닐경우 넘어간다. 코드 def solution(s): answer = 0 for i in..
[프로그래머스] 짝지어 제거하기 (파이썬) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/12973 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설명 처음 접근을 문자열로 하여 분기처리를 하는등 어렵게 접근하였던 문제였다. 하지만 이 문제는 짝을 맞추는 문제고 이는 스택을 이용하면 비교적 쉽게 풀린다는 장점이 존재한다. 여기까지 생각이 다다른다면 이 다음은 단순 구현이다. 먼저 문제를 문자열을 차례차례 스택에 넣고 만약 스택의 가장 위에 존재하는 원소가 문자열에서 가르키고 있는 원소와 동일하다면 pop을 하고 아니면 append를 하..
백준 17413 단어 뒤집기2(JAVA) 문제 https://www.acmicpc.net/problem/17413 17413번: 단어 뒤집기 2 문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('')로만 이루어져 www.acmicpc.net 코드 package com.company; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Scanner; import java.util.Stack; public class Main { public static v..
[백준] 2493 탑(JAVA) https://www.acmicpc.net/problem/2493 2493번: 탑 첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 직선상에 놓인 순서대로 하나의 빈칸을 사이에 두고 주어진다. 탑들의 높이는 1 www.acmicpc.net 코드 import java.io.*; import java.util.Stack; import java.util.StringTokenizer; class Main{ public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)..