반응형
반응형
https://www.acmicpc.net/problem/10844 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 난이도: solved.ac 실버 1 dp 문제다 점화식을 세우기 위해 N = 1일 때부터 차례로 해보자 N = 1일 때, 1, 2, 3, 4, 5, 6, 7, 8, 9로 길이가 1인 쉬운 계단 수는 9개가 된다 N = 2일 때, 10 12 21 23 32 34 43 45 54 56 65 67 76 78 87 89 98 로 17개가 되는데, 눈치채셨을까? 길이가 N인 i로 끝나는 쉬운 계단 수는 길이가 N - 1인 i - 1로 끝나는 쉬운 계단 수와 i + 1로 끝나는 쉬운 계단 수에 i를 붙여 만들어진다 그림..
https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 난이도: solved.ac 실버 4 정렬과 이분 탐색(Binary Search)을 활용한 문제다 나는 A라는 배열에 M개의 수를 저장한 후 qsort를 돌려주었고 B라는 배열에 M개의 수를 저장한 후 Binary Search 함수를 이용해 값이 있으면 1, 값이 없으면 0을 리턴하도록 만들었다 만약 나처럼 compare 함수를 이렇게 썼다면 아래의 ..
https://www.acmicpc.net/problem/14503 난이도: solved.ac 골드 5 문제는 정말 길지만 시키는 대로만 만들면 돼서 생각보다 쉬운 문제다 그치만,, 구현하는데 실수를 해서 애를 먹었는데 아무도 궁금해하진 않겠지만 내가 실수했던 부분을 기록해 보겠다 (똑같은 실수를 하는 분들을 위해...) 분명 오류 난 부분도 없는데 문제의 예제 2를 입력하면 출력으로 20이 나왔다 ㅠ 알고 보니 문제에서 설명하는 로봇 청소기 작동 단계 2번 부분에서 '바라보는 방향을 유지한 채로 한 칸 후진할 수 있다면 한 칸 후진하고 1번으로 돌아간다.'를 구현할 때 '바라보는 방향을 유지한 채로'는 맞게 구현했지만 '한 칸 후진'이 아닌 '앞으로 한 칸'으로 구현했다 이것 때문에 내가 문제를 잘못 ..
https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 난이도: solved.ac 실버 2 LIS(Longest Increasing Subsequence)문제다. 나는 DP를 이용해 풀었다. #define _CRT_SECURE_NO_WARNINGS #include #define MAXLEN 1000 #define max(a,b) ((a)>(b)?(a):(b)) int mai..
https://www.acmicpc.net/problem/2579 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net 난이도: solved.ac 실버 3 #define _CRT_SECURE_NO_WARNINGS #include #define max(a,b) ((a)>(b)?(a):(b)) int stairs[301]; int dp[301]; int main() { int n, i; scanf("%d", &N); for (i = 1; i