자료구조16 [프로그래머스] 뒤에 있는 큰 수 찾기 📌 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/154539 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ❌ 내 풀이(Failure) : ✅ 내 풀이(Success) : 🧐 Review: 반복문을 거꾸로 순회하면서 뒤에 있는 원소부터 뒷 큰 수를 찾았다. 이때, 뒷 큰 수는 리스트에 앞에 추가해야 되는데, 인덱스를 지정해서 원소를 추가하면 리스트의 순서를 재정립하는 과정에서 시간이 필요하기 때문에 데큐를 사용하는 것을 잠깐 고민했었다. 하지만, 굳이 데큐를 이용해서 appendlef.. 알고리즘 문제 풀이: 파이썬/Programmers 2023. 11. 7. [BOJ_14713] 앵무새 📌 문제 링크: https://www.acmicpc.net/problem/14713 14713번: 앵무새 자가용 비행기를 타고 세계 일주를 하던 pps789와 cseteram은 어느 날 엔진 고장으로 인해 이름 모를 섬에 불시착하게 된다. 그들은 이 섬을 탐험하는 도중 아주 신기한 사실을 알게 되었는데, 바로 www.acmicpc.net ✅ 내 풀이(Success) : 🚩 Idea: 앵무새들이 말하는 모든 단어를 이용해서 문장 L을 만드는 경우만 'Possible'이다. 좀 더 설명해 보면 2마리의 앵무새가 날아왔다고 가정했을 때, 1번 앵무새가 'a b x'를 말했고, 2번 앵무새는 'c d e'를 말한 상황에서 L이 'a b c d e'라면, 해당 문장을 말할 수는 있지만, x를 사용하지 않았기 때문.. 알고리즘 문제 풀이: 파이썬/BOJ 2023. 10. 8. [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_14235] 크리스마스 선물 📌 문제 링크: https://www.acmicpc.net/problem/14235 14235번: 크리스마스 선물 크리스마스에는 산타가 착한 아이들에게 선물을 나눠준다. 올해도 산타는 선물을 나눠주기 위해 많은 노력을 하고 있는데, 전세계를 돌아댕기며 착한 아이들에게 선물을 나눠줄 것이다. 하지만 www.acmicpc.net ✅ 내 풀이(Success) : 🧐 Review: "너 heap에 대해서 알고있니?" 라고 물어보는 수준의 문제이다. 🚩 Idea: 아이들에게 선물을 나눠준 때는 들고 있는 선물 중에서 가장 가치가 높은 것을 주어야 한다. 그래서 최대 힙을 이용할 수 있다면 어렵지 않게 풀 수 있는 문제이다. 파이썬에서 제공되는 heapq 라이브러리는 최소 힙으로 구현되어 있으므로 최대 힙 처럼 이.. 알고리즘 문제 풀이: 파이썬/BOJ 2023. 9. 27. [BOJ_17952] 과제는 끝나지 않아! 📌 문제 링크: https://www.acmicpc.net/problem/17952 17952번: 과제는 끝나지 않아! 성애는 이번 학기에 전공을 정말 많이 듣는다. 이로 인해 거의 매일을 과제를 하면서 보내고 있다. 그런데도 과제가 줄어들 기미가 보이지 않는데, 바로 분단위로 과제가 추가되고 있기 때문이 www.acmicpc.net ✅ 내 풀이(Success) : 🧐 Review: 중복된 코드를 함수로 뺐다면 좀 더 깔끔한 코드가 됐을 것 같다. 알고리즘 문제 풀이: 파이썬/BOJ 2023. 9. 27. [BOJ_13417] 카드 문자열 📌 문제 링크: https://www.acmicpc.net/problem/13417 13417번: 카드 문자열 입력 데이터는 표준 입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫째 줄에 테스트 케이스의 개수를 나타내는 자연수 T가 주어진다. 각각의 테스트 케이스의 첫째 줄에 처 www.acmicpc.net ✅ 내 풀이(Success) : 🧐 Review: 첫 번째 카드를 뽑을 때는 비교할 카드가 없으므로 덱에 초기값으로 넣어주었고, 두 번째 카드부터 덱에 첫 번째 원소와 비교하여 놓을 위치를 정해주었다. 사전순으로 가장 빠른 문자를 만들기 위해서는 문자열의 앞의 원소들이 최대한 A에 가까운 문자열로 채우는 것이 필요하다. 그래서 덱에 첫 번째 원소와 비교하여 카드를 왼쪽에 추가할지 .. 알고리즘 문제 풀이: 파이썬/BOJ 2023. 9. 27. [BOJ_20920] 영단어 암기는 괴로워 📌 문제 링크: https://www.acmicpc.net/problem/20920 20920번: 영단어 암기는 괴로워 첫째 줄에는 영어 지문에 나오는 단어의 개수 $N$과 외울 단어의 길이 기준이 되는 $M$이 공백으로 구분되어 주어진다. ($1 \leq N \leq 100\,000$, $1 \leq M \leq 10$) 둘째 줄부터 $N+1$번째 줄까지 외울 단 www.acmicpc.net ✅ 내 풀이(Success) : 🧐 Review: 습관처럼 코테를 준비해야 되는데, 회사에서 살아남기 위한 공부도 있다보니 생각보다 코테를 준비할 시간이 없던 것 같다. 사실 이 말도 핑계이고, 시간을 계획적으로 분배해서 사용하는 연습을 해야겠다. 성격이 워낙 즉흥적이고, 무계획이라서 쉽지 않겠지만, 의식적인 연습.. 알고리즘 문제 풀이: 파이썬/BOJ 2023. 6. 14. [BOJ_22233] 가희와 키워드 📌 문제 링크: https://www.acmicpc.net/problem/22233 22233번: 가희와 키워드 1번째 글을 쓰고 난 후에, 메모장에 있는 키워드는 set, floyd, os가 됩니다. 2번째 글을 쓰고 난 후에, 메모장에 있는 키워드는 set, os가 됩니다. map은 1번째 글과 2번째 글에 중복으로 등장하였음을 www.acmicpc.net ✅ 내 풀이(Success) : 🧐 Review: 약 8개월 전인 22년 9월 24일에 처음 제출했던 문제였다. 당시 2번의 제출에도 시간초과로 틀린 것을 보고 이 문제를 잠시 덮어두었는데, 오랜만에 다시 보게 되어 문제를 풀어봤다. 기존 로직에서 많은 부분이 수정된 것은 아니지만 시간복잡도를 최대한 줄이는 방향으로 코드를 수정했다. 하지만 여전히.. 알고리즘 문제 풀이: 파이썬/BOJ 2023. 5. 29. [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. [프로그래머스] 달리기 경주 📌 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/178871 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✅ 내 풀이(Success) : 🧐 Review: 문제를 푸는 것은 오래걸리지 않았지만, 변수명을 정하는 것이 너무 힘들었다. 많은 변수를 사용한 것은 아니지만, 같은 변수의 이름을 몇 번이나 바꿨는지 모르겠다. 네이밍에 대한 고민은 개발자의 숙명인걸까?! 🚩 Idea: - callings와 players의 길이가 꽤 크다. 단순하게 계산해봐도 시간복잡도로 시간초과가 발생하기 쉽.. 알고리즘 문제 풀이: 파이썬/Programmers 2023. 4. 15. 이전 1 2 다음