일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 백준
- icpc 2021
- double rainbow c++
- 백준 암호만들기
- 백준 double rainbow c++
- 너비우선탐색
- 깊이우선탐색
- dp
- 암호만들기 백트래킹
- 백준 23567 c++
- 23567 c++
- 막대기 c++
- 백준 암호만들기 c++
- 백준 1094 막대기
- dfs
- 백준 더블 레인보우
- 백준 double rainbow
- BFS
- C++
- 백준 1094 막대기 c++
- 다이나믹 프로그래밍
- 백준 5430 c++
- 백트래킹
- 1094 c++
- 1759 c++
- 백준 1759 c++
- 백준 1094 c++
- 암호만들기 c++
- 백준 23567
- 동적계획법
- Today
- Total
목록C++ (7)
dev study-log
한동안 여행을 다녀와서 문제를 풀지 못해 업로드 하지 못했다.. 이번 문제는 다이나믹 프로그래밍 연습 겸 해서 풀어봤다. 상당히 쉬운 문제였다. https://www.acmicpc.net/problem/2294 2294번: 동전 2 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. 가치가 같은 동전이 여러 번 주 www.acmicpc.net 문제 해석: 이번 문제는 동전 1과 비슷한 문제이지만 최소로 사용되는 동전의 수를 구하면 되는 문제이다. 최소로 동전을 사용하여 어 떤 값을 만들려면 최솟값에 최솟값을 더하여 만들면 자연스레 최솟값이 될 것이다. 이러한 관점..
이 문제는 오랜만에 푼 실버 문제이다. 동적계획법 연습겸해서 풀어봤다. https://www.acmicpc.net/problem/10844 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 문제 해석: 이 문제는 계단 수의 갯수를 구하는 문제이다. 계단 수란 각각의 자리에서 인접한 수가 1씩만 차이가 나는 수를 말한다. 이 말인 즉, 인접한 수는 +1 혹은 -1을 해야한다는 의미이다. 이런 과정을 거치려면 길이가 1인 계단 수에서 각각 +1, -1 한 수 를 뒤에 붙여주면 길이가 2인 계단 수가 완성되는데 앞에는 수 0이 오면 안되고 9에서는 +1이 불가능하므로 만약 0이 뒤에 붙으면 그 다음 길이의 계단 수에서 뒤에는 무조건..
이번 문제는 DP 연습 겸 해서 풀어본 문제이다. 이 문제와 연관된 문제들도 풀어볼 예정이다. https://www.acmicpc.net/problem/11054 11054번: 가장 긴 바이토닉 부분 수열 첫째 줄에 수열 A의 크기 N이 주어지고, 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ Ai ≤ 1,000) www.acmicpc.net 문제 해석: 문제는 LCS (Longest Common Sequence)와 비슷하고 다른 여타 순열 문제와 마찬가지로 동적 계획법(Dyanamic Programming. 이하 DP)로 풀어나가는 문제이다. 문제에서 주어진 수열의 최대 길이는 1,000으로 비교적 작은 편에 속하므 로 모든 경우의 수를 탐색해도 1초 안에 충..
이번 문제 또한 전에 필자가 다뤘던 문제들과 같은 문제이다. https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 바로 문제 해석으로 들어가보자. 문제 해석: 이 문제의 로봇청소기가 움직이는 조건을 살펴보자. 로봇청소기는 우선 현재 있는 곳을 청소하고, 그 다음에 2번 탐색을 실행한다. 문제는 크게 생각할 것 없이 이러한 조건을 따라가기만 하면 풀린다. 로봇청소기는 움직일 수 있는 경우의 수가 오직 1가지 이므로 너비우선탐색(BFS)와 같은 탐색을..
이 문제는 저번에 풀었던 단지번호붙이기 문제와 흡사하다. 어떻게 보면 더 쉬운 문제인데 필자는 중간에 메모리 문제로 인해 조금 헤매어 오래걸렸다 ㅠㅠ https://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net 단지번호붙이기 문제도 살펴보고 싶다면 아래의 링크를 통해 설명을 한 번 보고 오는 것을 추천한다. https://seoul-doggy.tistory.com/5 [백준 / #2667 / C++] 단지번호붙이기 이 문제는 저번에 다룬 미로 탐색 ..
이번 문제는 아주아주 쉽게 풀리는 문제였다. https://www.acmicpc.net/problem/1987 1987번: 알파벳 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으 www.acmicpc.net 참고로 필자는 문제를 풀기 전에 이 문제가 어떤 알고리즘 분류인지 힌트를 보지 않고 풀기 시작한다. 문제를 처음 봤을 때 어떤 알고리즘을 사용해야 하는지 판단하는 훈련도 같이 하기 위함이다. 문제를 푸는 기준은 그냥 solved.ac에 들어가서 티 어에서 많이 푼 순서대로 풀어나가고 있다. 잡설은 여기까지 하고 문제를 살펴보자. 문제해석: 문제에..
전부터 올려야지 올려야지 하다가 이제서야 올리게 된 알고리즘이다. https://www.acmicpc.net/problem/1010 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다. www.acmicpc.net 문제에서 제공된 조건은 우선 0 < N < M N 이기 때문에 강의 동쪽 사이트는 몇개 남을 수 밖에 없다. 그림을 보면서 설명하자. 위에서 강의 동쪽에 빨간 체크 된 사이트에 다리를 놓는다고 하자. 다리는 교차 될 수 없으므로 강의 동쪽에 존재하는 사이트가 다리로 연결 될 수 있는 사이트는 순서와 상관 없이 무조건 서쪽에 한 사이..