
문제수열 A가 주어졌을 때, 가장 긴 감소하는 부분 수열을 구하는 프로그램을 작성하시오.예를 들어, 수열 A = {10, 30, 10, 20, 20, 10} 인 경우에 가장 긴 감소하는 부분 수열은 A = {10, 30, 10, 20, 20, 10} 이고, 길이는 3이다. 입력첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000)이 주어진다.둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ Ai ≤ 1,000) 출력첫째 줄에 수열 A의 가장 긴 감소하는 부분 수열의 길이를 출력한다. 문제 링크https://www.acmicpc.net/problem/11722 풀이다이나믹 프로그래밍을 사용하면 되는 문제다.다이나믹 프로그래밍을 사용하면 쉽게 풀린다는 것은 문제를 보고 바로 알았지만 시행..
![[TIL] 99클럽 코테 스터디 26일차 TIL : 다이나믹 프로그래밍](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbNhUde%2FbtsKUinNrcW%2F6QbOMFckOfhrth3A7EjXtk%2Fimg.png)
🚀 오늘의 문제풀이 글은 여기에 있습니다. ▼ 백준 9655번 돌 게임 - C++문제돌 게임은 두 명이서 즐기는 재밌는 게임이다. 탁자 위에 돌 N개가 있다. 상근이와 창영이는 턴을 번갈아가면서 돌을 가져가며, 돌은 1개 또는 3개 가져갈 수 있다. 마지막 돌을 가져가는 사noguen.com 📖 오늘의 학습기초적인 다이나믹 프로그래밍 문제라고 되어있지만, 사실상 수학 문제다.그것도 필승 전략이 나와있는 '베스킨라빈스 31 게임'과 거의 동일하다. ▼ 위와 같이 정리해볼 수 있다.그러므로 짝수면 CY를, 홀수면 SK를 출력하면 되는 문제였다. 🤔 오늘의 회고오늘은 오랜만에 사람들을 만나 이런저런 얘기를 하며 진로 얘기를 했다.사실 진로 얘기가 많진 않았는데 그게 가장 기억에 남은거 같다...내가 ..
![[TIL] 99클럽 코테 스터디 25일차 TIL : 완전탐색, 우선 순위 큐](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fca0sB2%2FbtsKQOgX2RO%2Fz3DGiRtKw3ldKPQQm8aIv1%2Fimg.png)
🚀 오늘의 문제풀이 글은 여기에 있습니다. ▼ 백준 2116번 주사위 쌓기 - C++문제천수는 여러 종류의 주사위를 가지고 쌓기 놀이를 하고 있다. 주사위의 모양은 모두 크기가 같은 정육면체이며 각 면에는 1부터 6까지의 숫자가 하나씩 적혀있다. 그러나 보통 주사위처럼noguen.com📖 오늘의 학습 이번 문제는 저번 문제보다 비교적 쉬웠다.모든 케이스를 BFS를 돌려야하는게 아니라 단순 탐색, 합산을 하면 되기 때문이다. 그러면 이번엔 무엇을 학습했냐, 바로 주사위 인덱스를 깔끔하게 구하는 것이다. 배열로 들어온 주사위의 면들 중, 반대편 주사위의 인덱스를 구하는 방법으로 가장 먼저 수식을 생각했다.그러나 수식으로 구하기엔 규칙이 통일성 있지 않아, 수식으로 구하는 방법은 포기했다. 그 다음에는 s..

문제천수는 여러 종류의 주사위를 가지고 쌓기 놀이를 하고 있다. 주사위의 모양은 모두 크기가 같은 정육면체이며 각 면에는 1부터 6까지의 숫자가 하나씩 적혀있다. 그러나 보통 주사위처럼 마주 보는 면에 적혀진 숫자의 합이 반드시 7이 되는 것은 아니다.주사위 쌓기 놀이는 아래에서부터 1번 주사위, 2번 주사위, 3번 주사위, … 의 순서로 쌓는 것이다. 쌓을 때 다음과 같은 규칙을 지켜야 한다: 서로 붙어 있는 두 개의 주사위에서 아래에 있는 주사위의 윗면에 적혀있는 숫자는 위에 있는 주사위의 아랫면에 적혀있는 숫자와 같아야 한다. 다시 말해서, 1번 주사위 윗면의 숫자는 2번 주사위 아랫면의 숫자와 같고, 2번 주사위 윗면의 숫자는 3번 주사위 아랫면의 숫자와 같아야 한다. 단, 1번 주사위는 마음대로..
![[TIL] 99클럽 코테 스터디 24일차 TIL : 완전탐색, BFS](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtTwrv%2FbtsKRm395jn%2FK8LhVND4iBFky8rCdr9xRK%2Fimg.png)
🚀 오늘의 문제풀이 글은 여기에 있습니다. ▼ 프로그래머스 전력망을 둘로 나누기 - C++문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이완전 탐색과 BFS가 섞인 문제다.오늘도 피곤 이슈로... 대략noguen.com 📖 오늘의 학습완전탐색과 BFS가 섞인 상당히 더러운 문제다.이번에도 각각은 굉장히 쉽게 접근할 수 있는데, 둘을 합쳐서 하려니 변수 초기화나 선언등에서 상당히 걸리적거리는게 많다.특히 C++에 익숙하지 않아서(평소에는 dart, 아니면 js나 ts만 하니까...) 더더욱 초기화에 있어서 걸리는게 많다. 🤔 오늘의 회고C++ 라이브러리와 변수 초기화 등등을 좀 잘 숙..

문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이완전 탐색과 BFS가 섞인 문제다.오늘도 피곤 이슈로... 대략적인 풀이만 올리고 다음에 몰아서 풀이를 올릴 예정이다. 우선 n이 작고, 제공되는 간선의 수도 100 보다 작기 때문에 모든 경우의 수를 다 해볼 수 있다.그러면 첫번째부터 마지막 간선까지 선을 하나씩 제거해나가며 BFS를 돌려보면 된다. 문제 조건이 하나만 끊어도 둘로 나눠지게 설계되어있기에 모든 간선을 한 번씩 끊어보며 확인해보면 된다. 그런데 처음에는 두 번 다 돌려야 하나? 했는데 양 쪽 구간을 모두 확인한다고 두번 돌릴 필요는 없다.n이 정해져있기 때문에 한쪽이 k개라면,..
![[TIL] 99클럽 코테 스터디 23일차 TIL : 완전탐색, DFS, 소수판별](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4REV8%2FbtsKQg3HeHl%2FUygsTewmqBHKglYb2UuBXk%2Fimg.png)
🚀 오늘의 문제풀이 글은 여기에 있습니다. ▼ 프로그래머스 소수 찾기 - C++문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이대략적인 풀이는 오늘 작성하고 자세한 풀이는 내일 작성하noguen.com 📖 오늘의 학습이번 문제는 굉장히 지저분한 문제였던거 같다.에라토스테네스의 체도 써야하고, 완전 탐색도 해야하는 뭔가 둘 다 별 거 아닌데 둘 다 해야한다고 하니 상당히 귀찮아지는 그런 문제였다. 사실 next_permutations라는 함수가 있는지 전혀 몰랐고 검색해보고 알았다.이런 귀찮은 문제를 사람들은 어떻게 풀었을까? 하는 마음에 검색해보니, 다들 저 함수로 순열을 만들어서 풀고 ..

문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이대략적인 풀이는 오늘 작성하고 자세한 풀이는 내일 작성하겠다... (시간 이슈)next_permutations라는 함수가 있는데, 배열에 있는 다음 순열을 만들어주는 함수다.이를 이용해서 처음부터 끝까지 순열을 만들고 숫자로 바꾸면서 에라토스테네스의 체로 검사를 해주면 된다. 이런 함수가 있다는 걸 알았지만 dfs로 푸는게 좋지 않나 싶어서 재귀적으로 만드는 걸로 했다.이것저것 체크할 게 많아져서 굉장히 귀찮아지지만... 일단 이렇다. 자세하게 어떻게 돌아가는지는 시간이 충분할 때 작성하겠다. C++ 코드#include #include #inc..

문제상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다.상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수 있다.상근이가 설탕을 정확하게 N킬로그램 배달해야 할 때, 봉지 몇 개를 가져가면 되는지 그 수를 구하는 프로그램을 작성하시오. 입력첫째 줄에 N이 주어진다. (3 ≤ N ≤ 5000) 출력상근이가 배달하는 봉지의 최소 개수를 출력한다. 만약, 정확하게 N..
![[TIL] 99클럽 코테 스터디 22일차 TIL : DFS](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbpwRKv%2FbtsKM0aaHrW%2FhFWISQrKydXetLkTdTh3gk%2Fimg.png)
🚀 오늘의 문제풀이 글은 여기에 있습니다. ▼ 프로그래머스 피로도 - C++문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이 DFS로 하는 완전탐색자세한 풀이는 나중에... C++ 코드#inclnoguen.com 📖 오늘의 학습DFS로 하는 완전탐색.$8!$이라서 그냥 하나씩 다 돌아봐도 될 거 같긴 하지만, DFS로 좀 더 효율적으로 돌아보는게 좋은거 같다. 🤔 오늘의 회고너무 피곤하다...매일 매일 무엇을 새롭게 배웠나 찾는게 더 힘든거 같다.개발적인 내용이라면 많은데 PS내용이라면 오늘은 없는듯... 이 챌린지가 끝나면 개발적인 내용을 적자.