본문 바로가기

ALL

(73)
백준 11559번: Puyo Puyo 백준 11559번: Puyo Puyo 11559번: Puyo Puyo 현재 주어진 상황에서 몇연쇄가 되는지 출력하라. (하나도 터지지 않는다면 0을 출력하면 된다.) www.acmicpc.net 뿌요뿌요를 어렸을 때 했던 기억은 있지만 그 때는 재밌는 게임인줄 몰랐다. 고등학생때였나? 뿌요뿌요랑 조금은 다르지만 비슷한 게임인 애니팡을 즐겨했던 것 같다. 그것도 한달도 안하고 접긴했지만 문제에 대한 이해는 뿌요뿌요 게임을 원래 알고있어서 블록이 터지고 움직이는 과정이 어떤지는 이해가 되었다. 여기서 구하는 것이 어떤 것인지만 확인하고 시뮬레이션 코드를 작성하면 된다. 시뮬레이션 코드에 딱히 정답은 없고 남이 작성한 시뮬레이션 코드를 보기란 쉬운것이 아닌 것 같다. 시뮬레이션은 그냥 작동 순서를 이해하고 직..
백준 2011번: 암호코드 백준 2011번: 암호코드 2011번: 암호코드 문제 상근이와 선영이가 다른 사람들이 남매간의 대화를 듣는 것을 방지하기 위해서 대화를 서로 암호화 하기로 했다. 그래서 다음과 같은 대화를 했다. 상근: 그냥 간단히 암호화 하자. A를 1이라고 하고, B는 2로, 그리고 Z는 26으로 하는거야. 선영: 그럼 안돼. 만약, "BEAN"을 암호화하면 25114가 나오는데, 이걸 다시 글자로 바꾸는 방법은 여러 가지가 있어. 상근: 그렇네. 25114를 다시 영어로 바꾸면, "BEAAD", "YAAD", " www.acmicpc.net DP 문제는 언제풀어도 어려운 것 같다. DP는 풀이방법을 종이에다 손으로 직접 써봐야 알 수 있는 것 같다. 암호코드 문제는 생각해내는 것은 어렵지않은줄 알았는데 다른 사람들..
백준 1193번: 분수찾기 백준 1193번: 분수찾기 1193번: 분수찾기 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. www.acmicpc.net 2차원 배열인데 시간 제한이 0.5초이네? 이것을 보자마자 간단한 규칙으로 풀 수 있을 것 같은 생각이들어서 규칙을 먼저 찾기 시작했다. 난 규칙을 찾는 기준을 1번째 3번째 6번째 10번째 15번째 위치에있는 분수들로 잡았다. 저 분수들은 다 테두리에 있는 분수들이다. 이 분수들의 표를 1/1가 꼭대기인 삼각형 모양으로 만들었을 때 1/1(1번)은 1번째 2/1(3번)는 2번째 1/3(6번)은 3번째 4/1(10번)은 4번째줄에 나타나는 것을 확인했다. 이것을 보아 홀수번째 줄과 짝수번째 줄에 있을 때 내가 고른 분수들이 삼각형 기준 맨 좌측에 있냐 맨 우측에 있냐..
백준 2225번: 합분해 백준 2225번: 합분해 2225번: 합분해 첫째 줄에 답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net DP문제는 규칙을 먼저찾는게 우선이라고 생각한다. 규칙을 찾기위해서 수를 종이위에 어느정도 써본 결과 일정한 규칙이 있다는 사실을 알아냈다. dp[n][k]의 값은 dp[0][k-1] + dp[1][k-1] + ... + dp[n][k-1] 의 값을 가진다는 것을 알아내었다. 따라서 n이 0일때의 값만 1로 초기화를 해준 뒤 이후의 값들은 공식을 코드로 구현하여 해결했다. 마지막에 1,000,000,000을 나누는 것을 잊지말자 #include #define DIV 1000000000 using namespace std; long long dp[201][201];..
삼성 SW Expert Academy 1204. [S/W 문제해결 기본] 1일차 - 최빈수 구하기 삼성 SW Expert Academy 1204. [S/W 문제해결 기본] 1일차 - 최빈수 구하기 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! www.swexpertacademy.com 최빈수 구하는 문제로 학생수가 1000명으로 고정되어 있다. 점수는 0점부터 100점까지이므로 배열은 101까지만 선언하고 학생들의 점수가 입력되면 해당 점수로 배열 인덱스에 있는 값을 하나씩 증가시킨다. 그러면 전체 성적들의 분포수를 배열에서 가지게된다. 그 다음에 최빈수를 찾아 출력하면 된다. #include using namespace std; int main(){ ios_base::sync_with_stdio(false); cin.tie(0); int ..
백준 11047번: 동전 0 백준 11047번: 동전 0 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 그리디 알고리즘의 기초문제이다. 목표 값이 있고 동전들을 이용해서 그 값을 이루기 위해 최소의 개수를 사용해서 푸는 문제이다. 가장 최적의 방법을 찾아야하는데 동전수를 최소화하는것이 목적이니까 가지고 있는 동전 중에 사용할 수 있는 가장 큰 값의 동전을 먼저 사용하면 작은 동전들의 수를 최소화 할 수 있다. 큰 값의 동전들을 우선순위를 두어 사용하면 필요한 동전 개수의 최..
백준 13335번: 트럭 백준 13335번: 트럭 13335번: 트럭 문제 강을 가로지르는 하나의 차선으로 된 다리가 하나 있다. 이 다리를 n 개의 트럭이 건너가려고 한다. 트럭의 순서는 바꿀 수 없으며, 트럭의 무게는 서로 같지 않을 수 있다. 다리 위에는 단지 w 대의 트럭만 동시에 올라갈 수 있다. 다리의 길이는 w 단위길이(unit distance)이며, 각 트럭들은 하나의 단위시간(unit time)에 하나의 단위길이만큼만 이동할 수 있다고 가정한다. 동시에 다리 위에 올라가 있는 트럭들의 무게의 합은 다리의 최 www.acmicpc.net 시뮬레이션 문제로 트럭의 순서를 바꾸지 않고 다리길이만큼 무게를 초과하지 않고 트럭을 끝으로 보내는 문제이다. 나는 큐를 사용하여문제를 풀었다. 큐에 지나갈 수 있는 트럭을 넣고 ..
백준 11051번: 이항 계수 2 백준 11051번: 이항 계수 2 수학문제로 문제는 쉬워보이는데 생각보다 정답률이 낮았다. 역시나 예상대로 그냥 아무생각없이 팩토리얼 계산으로 푸는 문제는 아니었다. 0 n >> k; for(int i = 1; i