본문 바로가기

알고리즘204

[프로그래머스] 코딩테스트 고득점 Kit - 주식 가격 (C++) 문제 및 풀이 문제) 프로그래머스 - 자료 구조 - 주식 가격 https://programmers.co.kr/learn/courses/30/lessons/42584 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr BOJ 2493번 - 탑과 굉장히 유사한 문제여서 비슷하게 풀었습니다. 이 문제는 스택으로도 풀 수 있지만, Brute Force로도 풀이가 가능해서 효율성 채점에서 더 많은 T.C가 필요해 보입니다. BOJ 2493번 해설 https://chocochip101.tistor.. 2021. 12. 4.
[백준] 2493번 - 탑 (C++) 문제 및 풀이 문제) 백준 - 자료 구조 - 탑 https://www.acmicpc.net/problem/2493 2493번: 탑 첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 직선상에 놓인 순서대로 하나의 빈칸을 사이에 두고 주어진다. 탑들의 높이는 1 www.acmicpc.net 스택을 이용해 해결했습니다. 먼저 N부터 1번째까지 스택에 넣어주면서 만약 신호를 받을 수 있는 탑이 들어올 경우 answer에 번호를 적습니다. 반복문이 끝난 후에도 스택에 남아 있는 경우는 신호를 받지 못한 경우이므로, answer에 0으로 저장합니다. C++ 소스코드) Full Code) https://github.com/Chocochip101/BOJ_So.. 2021. 12. 4.
[백준] 16194번 - 카드 구매하기 2 (C++) 문제 및 풀이 문제) 백준 - 동적 계획법 - 카드 구매하기 2 https://www.acmicpc.net/problem/16194 16194번: 카드 구매하기 2 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000) www.acmicpc.net Top-down 방식으로 풀이 했습니다. DP 모델링을 res카드를 구매하기 위해 지불해야하는 최소 금액으로 memoization을 진행했습니다. 풀다가 P의 범위를 i=0으로 지정해서 꽤 걸렸네요ㅜㅜ C++ 소스코드) Full Code) https://github.com/Chocochip101/BOJ_Solution/blob/main/Problem%.. 2021. 12. 3.
[백준] 5397번 - 키로거 (C++) 문제 및 풀이 문제) 백준 - 자료구조 - 키로거 https://www.acmicpc.net/problem/5397 5397번: 키로거 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한줄로 이루어져 있고, 강산이가 입력한 순서대로 길이가 L인 문자열이 주어진다. (1 ≤ L ≤ 1,000,000) 강산이가 백스페이스를 입 www.acmicpc.net 자료구조(Deque)을 두 개 이용하여 해결하였다. 커서 기준으로 왼쪽 덱과 오른쪽 덱으로 나누어 문제를 쉽게 풀 수 있다. C++ 소스코드) Full Code) https://github.com/Chocochip101/BOJ_Solution/blob/main/Problem%205000~9999/5397_%ED%82%A4%EB%A1%9C%EA%B1%B0... 2021. 11. 29.
[백준] 1325번 - 효율적인 해킹 (C++) 문제 및 풀이 문제) 백준 - DFS - 효율적인 해킹 https://www.acmicpc.net/problem/1325 2021. 11. 29.
[백준] 17140번 - 이차원 배열과 연산 (Python) 문제 및 풀이 문제) 백준 - 구현 - 이차원 배열과 연산 https://www.acmicpc.net/problem/17140 17140번: 이차원 배열과 연산 첫째 줄에 r, c, k가 주어진다. (1 ≤ r, c, k ≤ 100) 둘째 줄부터 3개의 줄에 배열 A에 들어있는 수가 주어진다. 배열 A에 들어있는 수는 100보다 작거나 같은 자연수이다. www.acmicpc.net Full Code) https://github.com/Chocochip101/BOJ_Solution/blob/main/Problem%2015000~19999/17140%EB%B2%88_%EC%9D%B4%EC%B0%A8%EC%9B%90%20%EB%B0%B0%EC%97%B4%EA%B3%BC%20%EC%97%B0%EC%82%B0.py GitHub.. 2021. 11. 24.
[백준] 5397번 - 키로거 (C++) 문제 및 풀이 문제) 백준 - 자료 구조 - 키로거 https://www.acmicpc.net/problem/5397 5397번: 키로거 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한줄로 이루어져 있고, 강산이가 입력한 순서대로 길이가 L인 문자열이 주어진다. (1 ≤ L ≤ 1,000,000) 강산이가 백스페이스를 입 www.acmicpc.net 덱을 이용하여 커서 기준 오른쪽 글자, 왼쪽 글자를 나누어 구현한다. C++소스코드) https://github.com/Chocochip101/BOJ_Solution/blob/main/Problem%205000~9999/5397%EB%B2%88_%ED%82%A4%EB%A1%9C%EA%B1%B0.cpp GitHub - Chocochip101/BOJ_Sol.. 2021. 11. 13.
[백준] 15990번 - 1, 2, 3 더하기 5 (C++) 문제 및 풀이 문제) 백준 - DP(동적 계획법) - 1, 2, 3 더하기 5 https://www.acmicpc.net/problem/15990 15990번: 1, 2, 3 더하기 5 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 1,000,000,009로 나눈 나머지를 출력한다. www.acmicpc.net 이전 사용한 숫자(prev)를 memoization하여 prev를 제외한 숫자를 사용하여 합을 나타낼 수 있는 방법을 계산한다. C++ 소스코드) Full Code) https://github.com/Chocochip101/BOJ_Solution/blob/main/Problem%2015000~19999/15990_1%2C%202%2C%203%20%EB%8D%94%ED%95%98%EA%.. 2021. 11. 13.
[백준] 5014번 - 스타트링크 (C++) 문제 및 풀이 문제) 백준 - BFS - 스타트링크 https://www.acmicpc.net/problem/5014 5014번: 스타트링크 첫째 줄에 F, S, G, U, D가 주어진다. (1 ≤ S, G ≤ F ≤ 1000000, 0 ≤ U, D ≤ 1000000) 건물은 1층부터 시작하고, 가장 높은 층은 F층이다. www.acmicpc.net BFS를 통해서 G층까지 최소 버튼 횟수를 구한다. 핵심은 Queue에 방문 층과 버튼 횟수를 함께 넣는 것. C++ 소스코드) Full Code) https://github.com/Chocochip101/BOJ_Solution/blob/main/Problem%205000~9999/5014_%EC%8A%A4%ED%83%80%ED%8A%B8%EB%A7%81%ED%81%AC... 2021. 11. 9.
반응형