https://school.programmers.co.kr/learn/courses/30/lessons/12906 > [git] https://github.com/JungSangA/Algorithm_Study/blob/main/%EC%8A%A4%ED%83%9D%26%ED%81%90/%EA%B0%99%EC%9D%80%20%EC%88%AB%EC%9E%90%EB%8A%94%20%EC%8B%AB%EC%96%B4.ipynb 1. stack을 통한 풀이 stack을 만들고 for문을 통해 arr의 요소들을 조건에 맞춰 stack에 쌓거나 제거한다. 문제의 요점은 연속된 숫자가 나올시 하나의 숫자만 출력한다는 것이므로 stack의 길이가 0(base condition)일 때, 0번 인덱스값을 추가하는 것을 시작으로 다음 값들을 계속 비교해가면서 마지막에 넣은 값과 현재 값이 같으면 skip하고, 다르면 stack에 추가한다. 모든 for문을 완료한 후에 st
https://school.programmers.co.kr/learn/courses/30/lessons/12909 > **[git] **https://github.com/JungSangA/Algorithm_Study/blob/main/%EC%8A%A4%ED%83%9D%26%ED%81%90/%EC%98%AC%EB%B0%94%EB%A5%B8%20%EA%B4%84%ED%98%B8.ipynb 1. count 변수 선언 후 갯수 비교 알고리즘 아이디어 여는 괄호 "("가 열리면 닫히는 괄호 ")"가 있어야 하고, 마지막에 "("와 ")"의 갯수를 비교했을 때 같아야 한다. cnt를 초깃값 0으로 설정하고, 문자열 s의 문자를 하나하나 비교하여 "("가 나오면 cnt를 1증가 시키고, ")"가 나오면 1 감소시키며 문자열의 마지막까지 진행한다. 문자를 비교하는 도중에 cnt가 0보다 작아지는 경우 여는 괄호 "("가 없이 ")"가 나왔으므로 올바른 괄호식이 성립되지 않
list에서 idx를 알아내거나 요소를 반환할때 시간복잡도는 O(n)이다. deque 라이브러리를 만들어서 stack 및 queue로 활용한다면 시간복잡도를 O(1)으로 줄일 수 있어 코딩테스트를 푸는데 있어 시간 개선의 효과가 있고 효율성이 있는 문제의 효율성을 높일 수 있다. 1. deque 1-1. deque import하기 1-2 deque로 요소 추가 및 반환하기 1-3 deque로 list 통째로 넣기 리스트 요소를 하나하나 넣을 때 필요함. 단 오름차순으로 들어감. 1-4 deque로 요소 회전시키기 deque 내 요소들을 기준으로 회전시킬 수 있다. (양수 = 시계방향, 음수 = 반시계방향) 2. list 각종 해결방안 2-1. list 내 중복값 제거하기 set명령어를 활용하면 중복된 값을 제거하고 unique하게 set 타입으로 반환해준다. 그리고 list로 다시 변환하여 사용하면 간편하다.