목록스택 (5)
개발 무지렁이

𐂂 스코프(Scope) 란 선언된 위치에 따른 식별자가 유효한 범위를 말한다. ⚠️ 스코프는 네임스페이스(namespace)다. ⚠️ 스코프가 없다면, 같은 이름을 갖는 변수는 충돌을 일으킨다. ⚠️ 자바스크립트 엔진은 스코프 체인을 통해 참조할 변수를 검색한다. ➼ 지역스코프 (함수 몸체 내부) ➡️ 함수는 지역스코프를 생성한다. (함수가 종료되면 지역스코프도 소멸) ➡️ 함수 내에 선언된 지역변수는 함수가 생성한 지역스코프에 등록되고, 스코프가 소멸될때까지 유효하다. ➡️ 함수가 종료되어도 누군가 지역스코프를 참조하고 있다면, 그 지역스코프는 소멸되지 않는다. 𐁍 스코프 체인(Scope Chain) 스코프가 계층적으로 연결된 것을 말한다. *상위 스코프 방향*으로 이동하며 참조할 변수를 검색한다. ⚠..

오큰수 / 스택 🥞 🎠. '스택(Stack)'에 값이 아닌 '인덱스(index)'를 넣어 문제를 해결할 줄 알아야 한다. [시간초과 난 코드.py] N = int(input()) stack = list(map(int, input().split())) # print(stack) len = len(stack) res = [] ano_stack = [] for i in range(len): # print("res:", res) cur = stack.pop() # print("cur:", cur) if i == 0: res.append(-1) ano_stack.insert(0, cur) continue # print("ano_stack", ano_stack) flag = 0 for ..

탑 🪅 가장 나중에 들어오는 데이터를 먼저 검사하는 흐름을 보고 스택(Stack)을 떠올릴 수 있느냐 🪅 헷갈리기 쉬운 정보들을 class로 묶어 정리할 수 있느냐 🪅 두 개의 스택으로, 한 스택에서 뺀 데이터 중 조건에 맞는 데이터만, 나머지 스택에 push할 절차를 구현할 수 있느냐 🪅 데이터에 따라 불명확한 반복횟수를 세줄 또다른 변수를 만들 생각을 할 수 있느냐 🪅 조건을 만족했을 시, 다음 데이터에 영향을 주지 않도록 초기화했느냐 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Stack; import java.util.StringTokenizer;..

막대기 🪅 가장 늦게 들어온 데이터부터 검사하는 데이터의 흐름을 보고 스택을 생각해낼 수 있느냐 🪅 조건을 만족하는 데이터가 나왔을 때, 기준을 변경해야하는 것을 잊지 않았느냐 🪅 스택 관련 라이브러리를 사용할 줄 아느냐 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Stack; /** * 백준 17608번 막대기 * * 입력: * 첫 번째 줄에는 막대기의 개수를 나타내는 정수 N (2 ≤ N ≤ 100,000)이 주어지고 이어지는 N줄 각각에는 막대기의 높이를 나타내는 정수 h(1 ≤ h ≤ 100,000)가 주어진다. * * 출력: * 오른쪽에서 N개의..

같은 숫자는 싫어 🪅 중복을 제거하는 방법으로 스택을 생각해낼 수 있느냐 🪅 스택을 Integer[]로, Integer[]을 int[]로 변환할 수 있느냐 💡 문제 접근 과정 단순히 중복을 제거하는 문제인 줄 알았다. 때문에 HashSet 자료구조가 생각났고, 그중에서도 넣은 순서를 보장하는 LinkedHashSet을 떠올렸다. 하지만, 자세히보니 이 문제는 단순히 중복을 제거하는 문제가 아닌 이웃한 수의 중복을 제거하는 문제였다. 바로 LinkedHashSet을 버리고, 다른 방식으로 생각해보기로 했다. 순서를 보장하는 List를 이용하면 되겠다 싶어, 배열의 원소들을 List에 넣은 뒤 현재원소와 다음원소를 비교해, 같으면 다음 원소를 지워주는 방식으로 코드를 작성했다 하지만 list에 원소를 넣었다..