스택9 [프로그래머스] 뒤에 있는 큰 수 찾기 📌 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/154539 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ❌ 내 풀이(Failure) : ✅ 내 풀이(Success) : 🧐 Review: 반복문을 거꾸로 순회하면서 뒤에 있는 원소부터 뒷 큰 수를 찾았다. 이때, 뒷 큰 수는 리스트에 앞에 추가해야 되는데, 인덱스를 지정해서 원소를 추가하면 리스트의 순서를 재정립하는 과정에서 시간이 필요하기 때문에 데큐를 사용하는 것을 잠깐 고민했었다. 하지만, 굳이 데큐를 이용해서 appendlef.. 알고리즘 문제 풀이: 파이썬/Programmers 2023. 11. 7. [BOJ_2841] 외계인의 기타 연주 📌 문제 링크: https://www.acmicpc.net/problem/2841 2841번: 외계인의 기타 연주 첫째 줄에 멜로디에 포함되어 있는 음의 수 N과 한 줄에 있는 프렛의 수 P가 주어진다. (1 ≤ N ≤ 500,000, 2 ≤ P ≤ 300,000) 다음 N개 줄에는 멜로디의 한 음을 나타내는 두 정수가 주어진다. 첫 번째 www.acmicpc.net ✅ 내 풀이(Success) : 🧐 Review: 2차원 배열(스택)에 초기 값으로 0을 미리 넣어주었다면, 스택의 원소가 들어있는지 확인하는 코드가 필요하지 않았을 것 같다. 🚩 Idea: 멜로디를 연주할 때 음에 해당하는 하나의 줄을 튕겨야 소리가 나기 때문에 여러 줄의 서로 다른 프렛을 누르고 있더라도 멜로디에는 영향이 없다. 결국 입.. 알고리즘 문제 풀이: 파이썬/BOJ 2023. 10. 3. [BOJ_17952] 과제는 끝나지 않아! 📌 문제 링크: https://www.acmicpc.net/problem/17952 17952번: 과제는 끝나지 않아! 성애는 이번 학기에 전공을 정말 많이 듣는다. 이로 인해 거의 매일을 과제를 하면서 보내고 있다. 그런데도 과제가 줄어들 기미가 보이지 않는데, 바로 분단위로 과제가 추가되고 있기 때문이 www.acmicpc.net ✅ 내 풀이(Success) : 🧐 Review: 중복된 코드를 함수로 뺐다면 좀 더 깔끔한 코드가 됐을 것 같다. 알고리즘 문제 풀이: 파이썬/BOJ 2023. 9. 27. [BOJ_2257] 화학식량 📌 문제 링크: https://www.acmicpc.net/problem/2257 2257번: 화학식량 첫째 줄에 화학식이 주어진다. 화학식은 H, C, O, (, ), 2, 3, 4, 5, 6, 7, 8, 9만으로 이루어진 문자열이며, 그 길이는 100을 넘지 않는다. www.acmicpc.net ✅ 내 풀이(Success) : 🚩 Idea: - 숫자가 두 자리인 경우는 없다. - 입력 값이 알파벳 대문자('H', 'C', 'O'), 괄호(여는 소괄호, 닫는 소괄호), 숫자(2~9)로 정해져 있다. - 위 2가지 조건에 유의하여 경우를 나누고 스택을 이용할 수 있다면 어렵지 않은 문제였다. 알고리즘 문제 풀이: 파이썬/BOJ 2023. 5. 28. [BOJ_10799] 쇠막대기 📌 문제 링크: https://www.acmicpc.net/problem/10799 10799번: 쇠막대기 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저 www.acmicpc.net ✅ 내 풀이(Success) : 🧐 Review: 꽤 오래전부터 봐온 문제였지만, 스택을 어떻게 이용해서 풀어야 할지 몰라서 항상 지나쳤던 문제였다. 오늘은 평소보다 문제가 잘 풀리는 날인지 큰 고민 없이 생각나는 대로 코드를 작성했더니 문제가 풀렸다. 실력이 아주 조금씩이라도 꾸준히 성장하고 있다는 생각이 든다. 알고리즘 문제 풀이: 파이썬/BOJ 2022. 11. 3. [BOJ_1935] 후위 표기식 2 📌 문제 링크: https://www.acmicpc.net/problem/1935 1935번: 후위 표기식2 첫째 줄에 피연산자의 개수(1 ≤ N ≤ 26) 가 주어진다. 그리고 둘째 줄에는 후위 표기식이 주어진다. (여기서 피연산자는 A~Z의 영대문자이며, A부터 순서대로 N개의 영대문자만이 사용되며, 길이 www.acmicpc.net ✅ 내 풀이(Success) : 🧐 Review: 난이도는 높지 않은 문제라서 단순히 문제를 푸는 것은 어렵지 않지만, 코드의 중복을 줄이고, 효율적으로 짜기 위해 고민을 해볼 수 있는 좋은 문제라고 생각한다. 그 이유는 다음과 같다. 1. 알파벳에 매칭 되는 수를 어떻게 저장할까? 2. 문자열로 주어진 연산자를 어떻게 이용해야 될까? 3. 계산 결과를 어떻게 소수점 둘.. 알고리즘 문제 풀이: 파이썬/BOJ 2022. 11. 3. [프로그래머스] 햄버거 만들기 📌 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/133502 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✅ 내 풀이(Success) : 🧐 Review: 문제를 읽자마자 '스택을 이용해서 풀어야겠다'라는 생각이 들었다. 그렇게 생각하게 된 이유는 ingredient의 최대 길이가 1,000,000으로 꽤 큰 수이고, 햄버거를 만들기 위해서는 1, 2, 3, 1의 순서대로 재료를 쌓아야 한다는 점 때문이다. 햄버거가 포장이 될 때 마다 스택에서 원소 4개를 지워줘야 하는데 이 문제가.. 알고리즘 문제 풀이: 파이썬/Programmers 2022. 10. 27. [BOJ_17298] 오큰수 📌 문제 링크: https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net ❌ 내 풀이(Failure) 1번 : 시간초과 ❌ 내 풀이(Failure) 2번 : 시간초과 ✅ 참고용 풀이(Success) : 🧐 Review: 문제 해결의 아이디어는 정말 간단했고, n의 크기가 작았다면 O(n^2) 풀이로도 충분히 해결할 수 있겠지만, 주어진 n의 값이 매우 커서 시간복잡도를 O(n)으로 줄이지 못하면 시간초과가 발생할 것이라고 충분히 예상되는 문제였다. 하지만 이 부분.. 알고리즘 문제 풀이: 파이썬/BOJ 2022. 9. 1. [BOJ_3986] 좋은 단어 문제 링크: https://www.acmicpc.net/problem/3986 3986번: 좋은 단어 이번 계절학기에 심리학 개론을 수강 중인 평석이는 오늘 자정까지 보고서를 제출해야 한다. 보고서 작성이 너무 지루했던 평석이는 노트북에 엎드려서 꾸벅꾸벅 졸다가 제출 마감 1시간 전에 www.acmicpc.net 내 풀이: Review: 스택(리스트)을 이용해 알파벳의 쌍을 짓는 문제이다. 22년 5월 1일에 풀었던 문제인데, 23년 2월 6일 테스트 케이스 추가로 문제가 틀리게 된 것을 23년 9월 27일에 확인하여 코드를 수정하였다. 이 문제는 굳이 위의 코드처럼 스택에 모든 문자를 넣고 이후에 판별하여 문자를 빼주기보다는 같은 문자가 있는지 먼저 판별하여 넣을지 말지를 결정하는 것이 더 좋을 것 같다. 알고리즘 문제 풀이: 파이썬/BOJ 2022. 5. 1. 이전 1 다음