자바 Stack

프로그래머스

[프로그래머스] 프로그래머스 Level2 짝지어 제거하기 Java

문제 https://programmers.co.kr/learn/courses/30/lessons/12973 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr 풀이 처음엔 문자열의 문자에 대해 탐색을 돌리면서 문자열을 자르고 붙이고를 반복하며 풀었다가 정확성은 100점을 맞았지만 효율성에서 0점을 받아 이후 Stack을 통해서 해결할 수 있었다. Stack을 이용하면 O(n)으로 해결할 수 있다. 문자열의 모든 원소들에 대해 하나씩 확인해 주면서 Stack의 top과 이제 들어올 문자가 같으면 제거할..

프로그래머스

[프로그래머스] 프로그래머스 Level2 올바른 괄호 Java

문제 https://programmers.co.kr/learn/courses/30/lessons/12909 코딩테스트 연습 - 올바른 괄호 괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어 "()()" 또는 "(())()" 는 올바른 괄호입니다. ")()(" 또는 "(()(" 는 올바르지 않은 programmers.co.kr 풀이 자료구조 스택을 활용하여 해결할 수 있었다. 문제를 풀기 이전에 우리는 올바른 괄호의 특징이 여는 괄호와 닫는 괄호의 쌍이 1:1 매칭이 된다는 특징을 알고 가야 한다. 이 점을 이용하여 문자열의 모든 원소들에 대하여 탐색하면서 만약 여는 괄호인 '(' 가 나오면 스택에 넣어주었고, 닫는 괄호인 ')'가 나..

Doshisha
'자바 Stack' 태그의 글 목록