HelloMinchan
처음처럼
HelloMinchan
LinkedIn
전체 방문자
오늘
어제
  • 분류 전체보기 (306)
    • Backend (4)
      • NestJS (1)
      • Express (1)
      • Spring (2)
    • Infrastructure (1)
      • AWS (1)
    • Frontend (1)
      • Next.js (1)
    • Language & Runtime (4)
      • Java (2)
      • Node.js (2)
    • Computer Science (8)
      • Computer Networks (3)
      • Operating Systems (4)
      • OOP (1)
    • 독서 (4)
      • 데이터 중심 애플리케이션 설계 (3)
      • 객체지향의 사실과 오해 (1)
    • 회고 (4)
      • Project (2)
      • Career (2)
    • Deprecated (280)

채널

  • GitHub
  • LinkedIn

최근 글

태그

  • 백준Go
  • 백엔드
  • 프로그래밍
  • back-end
  • Database
  • front-end
  • 프로그래머스
  • 백준C++
  • programmers
  • 알고스팟
  • 알고스팟Python
  • 프로그래머스C++
  • 프로그래머스Python
  • 데이터베이스
  • Baekjoon Online Judge
  • 백준Python
  • 개발자
  • 코딩
  • Algospot
  • 백준

최근 댓글

인기 글

hELLO
HelloMinchan

처음처럼

[programmers] 프로그래머스 쇠막대기(Python)
Deprecated

[programmers] 프로그래머스 쇠막대기(Python)

2020. 6. 16. 04:08

(주)그렙

[programmers] 프로그래머스 쇠막대기

(Python)

(글쓴날 : 2020.06.16)

 


* programmers, 프로그래머스 문제 Python 언어 풀이입니다.

* 소스 코드의 저작권은 글쓴이에게 있습니다.


 

 

프로그래머스 쇠막대기


1) 문제

문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42585

 

코딩테스트 연습 - 쇠막대기

여러 개의 쇠막대기를 레이저로 절단하려고 합니다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자릅니다. 쇠막대기와 레�

programmers.co.kr


2) 풀이 과정

* 시간 복잡도 : O(n)

 

소괄호들로 이루어진 배열이 주어질 때, 괄호를 구분하는 특정 규칙에 맞추어 쇠막대기의 수를 구하는 문제입니다.

 

저의 경우, 스택을 적용하였고, Python을 사용했습니다.

주어진 배열을 탐색하여, 여는 소괄호일 경우 스택에 저장하고, 닫는 소괄호일 경우 스택에서 한 개를 꺼낸 뒤, 이전에 탐색했던 소괄호에 따라 여는 소괄호일 시 레이저이므로 현재 쇠막대기의 개수인 스택의 길이만큼 답을 증가시키고, 닫는 소괄호일 시 쇠막대기의 끝이므로 답을 1 증가시켜 문제를 해결했습니다.


3) 코드

 

* Python 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def solution(arrangement):
    answer = 0
    
    stack = []
    for i in range(len(arrangement)):
        if arrangement[i] == '(':
            stack.append('(')
        else:
            stack.pop()
            
            if arrangement[i - 1] == ')':
                answer += 1
            else:
                answer += len(stack)
                      
    return answer

 

저작자표시 비영리 변경금지 (새창열림)

'Deprecated' 카테고리의 다른 글

[programmers] 프로그래머스 124 나라의 숫자(Python)  (0) 2020.06.16
[programmers] 프로그래머스 기능개발(Python)  (0) 2020.06.16
[programmers] 프로그래머스 프린터(Python)  (0) 2020.06.16
[Baekjoon Online Judge] 백준 1197번 최소 스패닝 트리(Python)  (0) 2020.06.15
[Baekjoon Online Judge] 백준 4195번 친구 네트워크(Python)  (0) 2020.06.15
    'Deprecated' 카테고리의 다른 글
    • [programmers] 프로그래머스 124 나라의 숫자(Python)
    • [programmers] 프로그래머스 기능개발(Python)
    • [programmers] 프로그래머스 프린터(Python)
    • [Baekjoon Online Judge] 백준 1197번 최소 스패닝 트리(Python)
    HelloMinchan
    HelloMinchan
    Though you should not fear failure, You should do your very best to avoid it.

    티스토리툴바