그리디24 [BOJ_20365] 블로그2 📌 문제 링크: https://www.acmicpc.net/problem/20365 20365번: 블로그2 neighbor 블로그를 운영하는 일우는 매일 아침 풀고 싶은 문제를 미리 정해놓고 글을 올린다. 그리고 매일 밤 각각의 문제에 대하여, 해결한 경우 파란색, 해결하지 못한 경우 빨간색으로 칠한 www.acmicpc.net ✅ 내 풀이(Success) : 🧐 Review: 그리디 문제 쉽지 않다. 꾸준히 생각하는 힘을 길러야겠다. 🚩 Idea: 쉽게 생각하면 문자열 입력 값의 마지막 원소를 기준으로 전체를 1번 색칠하고, 색을 칠하지 않은 다른 색으로 미리 계산된 배열의 길이만큼 추가로 칠해주면 된다. 여기서 배열에는 같은 원소가 연속으로 나온 횟수를 저장한다. 연속된 문자를 찾는 코드에서 인덱스를.. 알고리즘 문제 풀이: 파이썬/BOJ 2023. 11. 18. [level 2] 금고털이 📌 문제 링크: https://softeer.ai/practice/6288 Softeer - 현대자동차그룹 SW인재확보플랫폼 루팡은 배낭을 하나 메고 은행금고에 들어왔다. 금고 안에는 값비싼 금, 은, 백금 등의 귀금속 덩어리가 잔뜩 들어있다. 배낭은 W ㎏까지 담을 수 있다. 각 금속의 무게와 무게당 가격이 주어졌을 softeer.ai ✅ 내 풀이(Success) : 🧐 Review: 문제를 보자마자 쉽다고 생각했는데, 이상하게 예제의 답이 나오지 않았다. 고민 끝에 해설 강의 영상을 봤는데, 내가 문제를 완전히 잘못 이해하고 있었다. 나는 귀금속의 수가 한 개가 아니라고 생각해서 무게가 70이고, 가치가 2인 귀금속만으로 170을 구하려고만 했다. 하지만 이 문제는 각 귀금속이 하나씩 있다고 생각하고.. 알고리즘 문제 풀이: 파이썬/Softeer 2023. 11. 2. [BOJ_2872] 우리집엔 도서관이 있어 📌 문제 링크: https://www.acmicpc.net/problem/2872 2872번: 우리집엔 도서관이 있어 상근이는 컴퓨터 공학의 일인자가 되기 위해 책을 매우 많이 구매했다. 하지만, 집에 책장이 없어서 책을 탑처럼 쌓아놓고 있다. 오늘은 오랜만에 상근이가 집에서 휴식을 취하는 날이다. 상근 www.acmicpc.net ✅ 내 풀이(Success) : 🧐 Review: 풀이를 제출했을 때 시간 초과로 6번이나 틀렸지만, 7번째 제출에서 문제를 맞을 수 있었다. 끝까지 답안을 확인하지 않고 스스로 풀어낸 것이 뿌듯하다. 백준에서 시간 초과로 제출한 풀이가 틀렸다는 것은 답안의 전체적인 로직에는 문제가 없으나 입력값에 따라서 연산 횟수가 크게 증가하는 부분 때문에 상한선을 넘어가는 구간이 발생해.. 알고리즘 문제 풀이: 파이썬/BOJ 2023. 10. 29. [BOJ_12845] 모두의 마블 📌 문제 링크: https://www.acmicpc.net/problem/12845 12845번: 모두의 마블 영관이는 게임을 좋아한다. 별의별 게임을 다 하지만 그 중에서 제일 좋아하는 게임은 모두의 마블이다. 어김없이 오늘도 영관이는 학교 가는 버스에서 캐릭터 합성 이벤트를 참여했다. 이번 이 www.acmicpc.net ✅ 내 풀이(Success) : ✅ 또 다른 풀이(Success) : 🧐 Review: 쉬운 문제는 쉽게 풀자! 🚩 Idea: 카드를 합성하면서 어떻게 하면 골드를 최대한으로 얻을 수 있을까? 가장 높은 레벨의 카드에 다른 카드를 합성시키면 된다. 위 아이디어를 기준으로 입력값에서 최댓값을 max() 함수로 찾고, 해당 원소를 데큐의 맨 앞에 위치하도록 roate() 시킨다. 데큐의.. 알고리즘 문제 풀이: 파이썬/BOJ 2023. 10. 8. [BOJ_1141] 접두사 📌 문제 링크: https://www.acmicpc.net/problem/1141 1141번: 접두사 접두사X 집합이란 집합의 어떤 한 단어가, 다른 단어의 접두어가 되지 않는 집합이다. 예를 들어, {hello}, {hello, goodbye, giant, hi}, 비어있는 집합은 모두 접두사X 집합이다. 하지만, {hello, hell}, {giant, www.acmicpc.net ✅ 내 풀이(Success) : 🧐 Review: 문제를 풀고 나서 다른 풀이들을 확인해 보니 슬라이싱을 이용한 풀이가 많았다. 해당 내용을 정리해 둔 문서를 다시 읽어봐야겠다. 🚩 Idea: - 중복된 문자열을 확인하는 과정을 줄이기 위해 집합(set)에 문자들을 담아 중복된 문자열을 제거한다. - 위의 처리를 거친 문자.. 알고리즘 문제 풀이: 파이썬/BOJ 2023. 10. 6. [BOJ_1449] 수리공 항승 📌 문제 링크: https://www.acmicpc.net/problem/1449 1449번: 수리공 항승 첫째 줄에 물이 새는 곳의 개수 N과 테이프의 길이 L이 주어진다. 둘째 줄에는 물이 새는 곳의 위치가 주어진다. N과 L은 1,000보다 작거나 같은 자연수이고, 물이 새는 곳의 위치는 1,000보다 작거나 www.acmicpc.net ✅ 내 풀이(Success) : 🧐 Review: 물이 새는 곳의 위치가 정렬되어 있지 않으므로 데이터를 입력받고 바로 오름차순 정렬을 해주었다. 그다음으로 리스트의 첫 번째 위치를 테이핑의 시작점으로 두고 다음 위치와의 거리 차이를 계산한다. 거리 차이가 테이프의 길이인 L보다 작으면 테이프로 충분히 커버할 수 있지만, 차이가 L보다 크면 당연히 커버할 수 없고,.. 알고리즘 문제 풀이: 파이썬/BOJ 2022. 11. 28. [BOJ_11501] 주식 📌 문제 링크: https://www.acmicpc.net/problem/11501 11501번: 주식 입력의 첫 줄에는 테스트케이스 수를 나타내는 자연수 T가 주어진다. 각 테스트케이스 별로 첫 줄에는 날의 수를 나타내는 자연수 N(2 ≤ N ≤ 1,000,000)이 주어지고, 둘째 줄에는 날 별 주가를 나타 www.acmicpc.net ❌ 내 풀이(Failure) -1: ❌ 내 풀이(Failure) -2: ✅ 내 풀이(Success) : 🧐 Review: 처음 생각했던 풀이는 주식의 가격이 최대일 때 보유한 주식을 팔고, 남은 주식들 중에서 주식의 최댓값을 갱신한 뒤 같은 방법을 이용해서 결과를 구하는 방식이었다. 하지만 이 방법은 N의 최댓값이 1,000,000으로 매우 큰데, for반복문과 sum.. 알고리즘 문제 풀이: 파이썬/BOJ 2022. 11. 9. [BOJ_2847] 게임을 만든 동준이 📌 문제 링크: https://www.acmicpc.net/problem/2847 2847번: 게임을 만든 동준이 학교에서 그래픽스 수업을 들은 동준이는 수업시간에 들은 내용을 바탕으로 스마트폰 게임을 만들었다. 게임에는 총 N개의 레벨이 있고, 각 레벨을 클리어할 때 마다 점수가 주어진다. 플레이어 www.acmicpc.net ✅ 내 풀이(Success) : 🚩 Idea: 레벨을 첫 번째 레벨부터 마지막 레벨까지 오름차순으로 만들도록 수정하는 것이 아닌 뒤집어서 마지막 레벨부터 첫 번째 레벨까지 내림차순을 만들도록 구현하면 쉽게 풀 수 있다. 알고리즘 문제 풀이: 파이썬/BOJ 2022. 11. 5. [BOJ_11000] 강의실 배정 📌 문제 링크: https://www.acmicpc.net/problem/11000 11000번: 강의실 배정 첫 번째 줄에 N이 주어진다. (1 ≤ N ≤ 200,000) 이후 N개의 줄에 Si, Ti가 주어진다. (0 ≤ Si < Ti ≤ 109) www.acmicpc.net ✅ 내 풀이(Success) : 🧐 Review: 알고리즘 분류를 확인하지 않았다면 내가 '우선순위 큐'를 이용해서 로직을 생각해봤을까? 아닐 것 같다. 자료구조를 다시 한번 복습해야겠다. 문제를 풀고 나서 내가 작성한 코드는 시작 시간과 종료 시간 모두 고려해서 정렬했지만, 구글링을 통해 찾은 코드는 보통 시작 시간을 기준으로만 정렬을 했다. 그래서인지 내 코드에서 readline을 이용해서 입력을 빠르게 받지 않았을 때, 로.. 알고리즘 문제 풀이: 파이썬/BOJ 2022. 11. 3. [BOJ_12904] A와 B 📌 문제 링크: https://www.acmicpc.net/problem/12904 12904번: A와 B 수빈이는 A와 B로만 이루어진 영어 단어가 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수 www.acmicpc.net ✅ 내 풀이(Success) : 🧐 Review: - S에서 T로 변환하기 위해서 할 수 있는 연산 1. 문자열의 뒤에 A를 추가한다. 2. 문자열을 뒤집고 뒤에 B를 추가한다. - T에서 S로 변환하기 위해서 할 수 있는 연산 1. 문자열의 뒤에서 A를 제거한다. 2. 문자열을 뒤집고 앞에서 B를 제거한다. ( = 문자열의 뒤에서 B를 제거하.. 알고리즘 문제 풀이: 파이썬/BOJ 2022. 11. 2. 이전 1 2 3 다음