본문 바로가기

공부72

백준 2644 - 촌수계산[BFS] 말 그대로 촌수를 계산하는 문제 문제보니까 예전 초중학교 시절에 가족관계도? 가 생각나서 클래스로 노드만들어 진짜 트리로 해볼까하다가 귀찮아서 그냥 풀었다. 문제 조건이 없어서 일단 from과 to를 오름차순 정렬해줬는데 필요한 부분인지는 불확실 같은 형제일때는 0촌인데 그냥 입력받다가 부모가 같으면 바로 예외처리하는게 더 쉽고 좋을 것 같아서 때워버렸다. 2020. 3. 23.
백준 10451 - 순열 사이클[DFS] 오랜만에 푸는 DFS 문제 그냥 돌면서 첫 시작점과 현재점이 같으면 순열 끝 2020. 3. 22.
백준 1759 - 암호 만들기 [Backtracking] 정말 오랜만에 찾아온 백트래킹 문제 main()의 경우 기본적인 입력만 하기 때문에 그냥 잘라버렸다. 해당 문제에 명시되어있는 암호의 조건은 1. 사전직으로 정렬(오름차순) 2. 1개 이상의 모음과 2개 이상의 2자음으로 이루어져 있을 것 따라서 Vector 클래스를 사용해서 입력받은 뒤 sort()를 통해 사전직으로 알파벳을 정렬하였고 isValid()를 통해 조건(2)를 만족하는지 확인하고 출력하였다. 2020. 3. 8.
백준 1697 - 숨바꼭질 [BFS] 오랜만에 풀어보는 BFS DP때문에 계속 머리쓰다가 간단한 BFS 문제로 힐링하고 갑니다 C++ STL 중 Queue와 Pair 을 이용해서 구현 Pair(좌표, 초)를 넣어 while에서 Queue를 돌며 테스트 visit[]을 통해 이미 지나친 곳인지 확인해서 중복 검사를 배제 2020. 3. 4.
백준 11055 - 가장 큰 증가 부분 수열 [LIS] 전 문제 가장 긴 증가하는 부분 수열과 다를 것 없는 문제 dp[i] = i가 마지막으로 오는 가장 총 합이 큰 부분 수열로 두고 풀면 끝 2020. 3. 3.
백준 11503 - 가장 긴 증가하는 부분 수열 [LIS] DP 유형 중에 하나 LIS 알고리즘의 가장 기본적인 문제 dp[i]는 arr[i]가 맨 마지막으로 들어가는 부분 수열 중 가장 긴 부분 수열의 길이 2020. 3. 3.
백준 2294 - 동전2 [DP] 전에 풀었던 제곱수 문제와 상당히 비슷한 문제이다. DP[i] = (dp[i-arr[j]] 중 최소 값) + 1 # arr[j]는 가지고 있는 동전의 가치 중 하나 로 두고 풀었다. 2020. 3. 3.
반응형