![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bliZOb/btrGgsgQaUp/cudY9xjJY9ov48AvIxMqsK/img.png)
https://programmers.co.kr/learn/courses/30/lessons/12973 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr ⊙ 문제 ⊙ 제한사항 ⊙ 입출력 예 ⊙ 입출력 예 설명 ⊙ 문제 접근 과정 총 3번의 도전. - 첫 번째 풀이 - 2중 반복문 + replace (일부 통과, 시간 초과) def solution(s): while len(s): flag = True for i in range(len(s)): if s[i]+s[i] in s: s = s.replace(..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/rXasW/btrlUOlNcjx/bk8vs10hr0mzIuxNGqoLmk/img.png)
https://www.acmicpc.net/problem/17608 17608번: 막대기 아래 그림처럼 높이만 다르고 (같은 높이의 막대기가 있을 수 있음) 모양이 같은 막대기를 일렬로 세운 후, 왼쪽부터 차례로 번호를 붙인다. 각 막대기의 높이는 그림에서 보인 것처럼 순서대로 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 구현 자료 구조 스택 ⊙ 문제 접근 과정 크기 비교만 해주면 된다. 역으로 해서 나보다 크기가 크면 갱신해주고, count를 세주자. count의 초기값은 1이다. 맨 앞에 있는 건 무조건 보이기 때문이다. ⊙ 문제 풀이 import sys input = sys.stdin.readline N = int(input()) stack = [] fo..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cDApTD/btroPWTAs2Z/PTPC08SCSiF0POhkdo8gMk/img.png)
스택 스택은 컴퓨터에서 믿을 수 없을 정도로 많이 사용되는 자료구조이다. 후입선출(LIFO : Last In First Out) 형태로 나중에 들어온 것이 가장 먼저 나가는 형태를 띈다. 직역 그대로 데이터를 순서대로 쌓는 자료구조라고 생각하면 된다. 스택에서의 입출력은 맨 위에서만 일어나고 스택의 중간에서는 데이터를 삭제할 수 없다. 📌 스택 상단 : 스택에서 입출력이 이루어지는 부분 스택 하단 : 반대쪽인 바닥 부분 요소 : 스택에 저장되는 것 공백 스택 : 스택에 요소가 하나도 없을 때 스택의 연산 push() : 스택 맨 위에 item을 추가 pop() : 스택의 맨 위에 원소를 제거해서 반환 peek() : 스택의 맨 위의 요소를 제거하지 않고 반환 isFull() : 스택이 꽉 찼는지 확인 i..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/ckiHMb/btrlnT1F3AR/KPxRnMzxKbNboFwKRrkkz1/img.png)
https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 자료 구조 스택 ⊙ 문제 접근 과정 힌트를 보고 이해했다. 만약 문제가 이해하기 힘들면 힌트를 바로 보자. 힌트: 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, pu..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/TijbJ/btrf9DQaWib/KzkbXhNRgRco1dfoWeTXbk/img.png)
https://programmers.co.kr/learn/courses/30/lessons/42586# 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr ⊙ 문제 ⊙ 제한사항 ⊙ 입출력 예 ⊙ 입출력 예 설명 ⊙ 문제 접근 과정 먼저 각 프로세스마다 며칠이 걸리는지 계산을 해줘야 한다. 그리고 계산한 결과를 days라는 배열을 만들어 넣어줬다. 넣어주고 나면 첫 번째 예제의 경우에 days는 [7,3,9]가 들어간다. 그다음엔 첫 번째 값을 빼서 스택에 넣어주고 그 값과 days에 있는 값들을 비교한다...
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/YFnFM/btrf3xip8I0/OUpZbL4Hgk4JX25fDt4tGK/img.png)
https://programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr ⊙ 문제 ⊙ 제한사항 ⊙ 입출력 예 ⊙ 입출력 예 설명 ⊙ 문제 접근 과정 2차원 배열로 만들어줬다. 같은 우선순위일 때, 구별하기 위해서이다. 2차원 배열로 만들어줘서 2번째 값을 location에 해당하는 값, 다시 말해 내가 알고자 하는 인쇄물을 체킹 한다. 그리고 deque를 사용하여 계속해서 돌려줬다. 우선순위에 밀리면 뒤로 밀어내고, 우선순위라면 내가 찾..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/ceYIa5/btrfWMAGBNK/4GVFthG2aqhKFbTkqsJLO1/img.png)
https://www.acmicpc.net/problem/2812 2812번: 크게 만들기 N자리 숫자가 주어졌을 때, 여기서 숫자 K개를 지워서 얻을 수 있는 가장 큰 수를 구하는 프로그램을 작성하시오. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 자료 구조 그리디 알고리즘 스택 ⊙ 문제 접근 과정 파이썬으로 알고리즘 문제를 풀다 보면 가끔씩 이런 생각을 한다. 생각을 조금만 더 하면 문제를 풀 수 있는 건가? 아니면 생각을 덜 해야 문제를 풀 수 있는 건가? 풀이를 보면 정말 단순한데 내 뇌는 그 단순한걸 거부하고 어렵게 접근한다 ㅋㅋ 이번 문제는 스택에 값을 넣고 그 값이랑 다음 값이랑 비교해서 더 큰 값으로 갱신해주면 끝이다. 아래 풀이를 보자 ⊙ 문제..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/KUUh5/btrfdXVTLxD/lRRj0FZRnOPIvfGDlnuzKk/img.png)
https://www.acmicpc.net/problem/4889 4889번: 안정적인 문자열 입력은 여러 개의 데이터 세트로 이루어져 있다. 각 데이터 세트는 한 줄로 이루어져 있다. 줄에는 여는 괄호와 닫는 괄호만으로 이루어진 문자열이 주어진다. 문자열의 길이가 2000을 넘는 경우 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 자료 구조 문자열 스택 ⊙ 문제 접근 과정 스택을 활용하여 문제에 접근하였다. 1️⃣ 문자 중 '-'가 들어오면 바로 종료 2️⃣ 문자가 "{"이면 스택에 추가 3️⃣ "}"이고 스택에 값이 있다면 pop() 4️⃣ "}"이고 값이 없다면 count up 그리고 "{" 추가 5️⃣ 마지막에 결괏값 count+ (스택의 수)//2 출력..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/osEtJ/btreh2kHRy5/GTAyGyoaJgk8kiiCdQ6ky1/img.png)
https://www.acmicpc.net/problem/9935 9935번: 문자열 폭발 첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 둘째 줄에 폭발 문자열이 주어진다. 길이는 1보다 크거나 같고, 36보다 작거나 같다. 두 문자열은 모 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 자료 구조 문자열 스택 ⊙ 문제 접근 과정 입력 문자열과 폭발 문자열을 입력받는다. 입력 문자열을 차례대로 검사한 후 stack에 넣는다. 검사할 때, 현재 글자가 폭발 문자열의 마지막 글자와 일치하면 그 앞의 문자들도 일치하는지 확인한다. 만약 같을 시, pop 반복.... 마지막에 stack에 값이 있는지 없는지 확인하..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bZFXkd/btrbrUWFHND/o1kJ3ZNun0lHdzXHIcUKmK/img.png)
https://www.acmicpc.net/problem/2493 2493번: 탑 첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 직선상에 놓인 순서대로 하나의 빈칸을 사이에 두고 주어진다. 탑들의 높이는 1 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 자료 구조 스택 ⊙ 문제 접근 과정 stack pair를 이용하여 index와 value를 동시에 push 해주었다. 가장 위에 있는 값의 value는 st.top().second이고 그것에 대한 index는 st.top().first이다. 현재 입력 값이랑 기존에 stack에 저장되어 있는 값이랑 비교 후, 신호 수신 가능( 기존에 ..
- Total
- Today
- Yesterday
- 우종정
- 파이썬
- 자바
- JS
- 백준
- 쉽게배우는
- 정답
- 알고리즘
- 문자열
- 해답
- OS
- 쉽게배우는자바프로그래밍
- 프로그래머스
- 연습문제
- py
- BFS
- 쉽게 배우는 자바 프로그래밍
- Web
- 그리디
- 자바스크립트
- 답
- CPP
- C++
- 풀이
- java
- 정렬
- 구현
- Python
- 운영체제
- 정리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |