[백준] #20546. 🐜 기적의 매매법 🐜 (파이썬/Python)
·
Coding Practice/Backjoon
📖 문제[백준] #20546. 🐜 기적의 매매법 🐜 (파이썬/Python)난이도: 실버5유형: 구현문제 요약2021년 1월 1일부터 14일까지 주식 가격이 주어진다.두 명의 투자자, 준현이와 성민이는 서로 다른 전략으로 주식을 거래한다. 🐜 준현이의 전략 (BNP - Buy and Pray)무조건 살 수 있는 만큼 매수한다.팔지 않는다. 현금이 있을 경우 최대한 즉시 매수한다. 📈 성민이의 전략 (TIMING)3일 연속 가격이 상승하면 → 다음날 전량 매도3일 연속 가격이 하락하면 → 다음날 전량 매수모든 거래는 전량 단위로 이뤄진다 (전부 매수 or 전부 매도)🔍 문제 접근이 문제는 조건을 그대로 구현해내는 것이 핵심이다. 특히 성민이의 전략은 전일 대비 주가의 연속 변화량을 확인해야 하므로..
[백준] #1697. 숨바꼭질(파이썬/Python)
·
Coding Practice/Backjoon
📖 문제[백준] #1697. 숨바꼭질(파이썬/Python)난이도: 실버1유형: BFS문제 요약수빈이는 현재 위치 `N`에 있고, 동생은 `K`에 있다.수빈이는 다음 3가지 방법으로 이동할 수 있다.`X - 1` (1초 소요)`X + 1` (1초 소요)`X * 2` (1초 소요)목표는 수빈이가 동생을 찾는 가장 빠른 시간을 구해야 한다.(이 문제는 시리즈 문제로, 숨바꼭질 2, 3, 4문제도 있으니 함께 풀어보는 것을 추천한다)🔍 문제 접근💡 문제 분석가장 빠른 시간을 찾는 문제 → BFS로 탐색으로 탐색해야 한다는 것을 알 수 있다.BFS의 레벨이 곧 최단시간이다.BFS는 가까운 노드부터 탐색하기 때문에, 특정 위치에 도달하는 가장 빠른 시간을 구하는 데 적합하다. 🧠 풀이 아이디어BFS 로직은 ..
[백준] #12851. 숨바꼭질 (파이썬/Python)
·
Coding Practice/Backjoon
📖 문제[백준] #12851. 숨바꼭질 (파이썬/Python)난이도: 골드4유형: BFS문제 요약수빈이는 현재 위치 N에 있고, 동생은 K에 있다.수빈이는 다음 3가지 방법으로 이동할 수 있다.X - 1 (1초 소요)X + 1 (1초 소요)X * 2 (1초 소요)목표는 수빈이가 동생을 찾는 가장 빠른 시간과, 그 시간 안에 동생을 찾는 방법의 수를 구하는 것이다.🔍 문제 접근💡 문제 분석최단 시간 → BFS로 탐색"경로 수"까지 구해야 하므로, 같은 노드에 여러 경로로 도달할 수 있음을 고려해야 한다.중복 방문 방지 + 경로 수 누적 = `dist`, `ways` 배열 사용 🧠 풀이 아이디어`dist[x]`: `x` 지점까지 도달하는 데 걸리는 최단 시간`ways[x`]: `x` 지점에 최단 시간..
[백준] #1715. 카드 정렬하기
·
Coding Practice/Backjoon
📖 문제#1715. 카드 정렬하기난이도: 골드4유형: 우선순위 큐, 힙문제 요약숫자 카드 묶음 N개가 주어진다.이 카드 묶음들을 두 개씩 골라 합칠 때마다 '비교 횟수'가 카드 수의 합만큼 발생한다.즉, 10장과 20장을 합치면 30번의 비교가 필요하다.이 과정을 반복해 카드 묶음을 하나로 만들 때까지 합칠 때,총 비교 횟수가 최소가 되도록 하는 것이 목표이다.🔍 문제 접근💡 문제 분석가장 적은 비교 횟수를 만들려면 작은 수부터 차례로 합쳐야 한다.예를 들어, 10, 20, 40이라면(10+20)=30 → (30+40)=70 → 총 100반면 (10+40)=50 → (50+20)=70 → 총 120이처럼 먼저 합치는 두 카드 묶음의 크기가 작을수록 전체 비교 횟수도 줄어든다.➡ 작은 두 수를 매번 ..
[백준] #14698. 전생했더니 슬라임 연구자였던 건에 대하여 (Hard) (파이썬/Python)
·
Coding Practice/Backjoon
📖 문제[백준] #14698. 전생했더니 슬라임 연구자였던 건에 대하여 (Hard) (파이썬/Python)난이도: 골드4유형: 우선순위 큐, 힙문제 요약이세계로 전생한 슬라임 연구자가 N마리의 슬라임을 단 한 마리로 합성하려 한다.슬라임을 합성하면 에너지가 곱해지며, 합성 과정마다 A×B의 전기 에너지를 소비한다.이 전기 에너지는 비용으로 청구되며, 모든 합성에서의 전기 에너지를 곱한 값이 최종 비용이 된다.목표는 이 비용을 최소화하는 것이며, 결과값은 1,000,000,007로 나눈 나머지로 출력한다. 요약의 요약슬라임 합성 과정: 2마리 합성 → 1마리 (A에너지 * B에너지)합성할 때 필요한 전기에너지: A*BN마리의 슬라임들을 1마리의 슬라임으로 합성구해야 하는 값: 모든 슬라임을 끝까지 다 합..
[BOJ] #1932. 정수삼각형 (Python) (DP)
·
Coding Practice/Backjoon
📖Problem1932번: 정수 삼각형 1932번: 정수 삼각형첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다.www.acmicpc.net🔍Institution어떻게 동작 과정이 수행되는지 핸드트레이싱해본다.리스트를 어떻게 받아낼지 아이디어를 떠올린다.이 2가지 과정을 거쳤다.어떻게 동작 과정이 수행되는지 핸드트레이싱해본다.이때, 양쪽 끝에 있는 부분은 그냥 그대로 내려받는다.그게 아니라면, max()를 이용해서 양쪽으로 내려오는 것들 중 더했을 때 더 큰 값을 다시 저장하도록 한다.⇒ 대각선 왼쪽, 대각선 오른쪽만 이동할 수 있다.리스트를 어떻게 받아낼 것인가?가장 간단한 방법은 중첩 리스트를 이용하는 것이다.[[7], [3, 8..