
문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이 DFS로 하는 완전탐색자세한 풀이는 나중에... C++ 코드#include #include using namespace std;int answer = 0;bool V[8] = {0};void dfs(int C, int K, vector> &dungeons) { if (C > answer) answer = C; for (int i = 0; i > dungeons) { dfs(0, k, dungeons); return answer;}
![[TIL] 99클럽 코테 스터디 21일차 TIL : 완전탐색2, 수학](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZWFcL%2FbtsKK09GqUL%2FLlhu2AaExAODAKWLLJsUqK%2Fimg.png)
🚀 오늘의 문제풀이 글은 여기에 있습니다. ▼ 프로그래머스 카펫 - C++문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이우선 수식을 세워 확인을 해봤다. $2x + 2(y - 2) = brown$$2x + 2y -noguen.com 📖 오늘의 학습오늘도 완전탐색. 하지만 이번에는 수학도 조금 섞였다.솔직히 모든 값을 일일히 검사해봐도 시간초과는 안날거 같지만, 조금 효율적으로 풀기 위해 수식을 구해 검사 범위를 줄였다. $2x + 2(y - 2) = brown$$2x + 2y - 4 = brown$ $(x - 2)(y - 2) = yellow$$xy - 2x - 2y + 4 = yell..

문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이우선 수식을 세워 확인을 해봤다. $2x + 2(y - 2) = brown$$2x + 2y - 4 = brown$ $(x - 2)(y - 2) = yellow$$xy - 2x - 2y + 4 = yellow$ $소거법...$$xy = brown + yellow$ 간단한 수식을 세워보면 $xy = brown + yellow$가 나오게 된다.하지만 해당 수식을 만족하는 $x$와 $y$값이 무조건 맞는 것은 아니다. 이는 $x$와 $y$에 대한 수식일 뿐, $brown$과 $yellow$에 대한 수식은 아니기 때문이다.따라서 $x$와 $y$값이 나오면..
![[TIL] 99클럽 코테 스터디 20일차 TIL : 완전탐색](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fba0o21%2FbtsKK4jIWR8%2FEO6QLKaxj7IGyC2ZhpQEJ1%2Fimg.png)
🚀 오늘의 문제풀이 글은 여기에 있습니다. ▼ 프로그래머스 모의고사 - C++문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이카테고리에도 나와있듯이 완전탐색을 하면 되는 문제다.다noguen.com 📖 오늘의 학습이번 문제는 완전 탐색.정말 말 그대로 모든 경우의 수를 확인하면 되는 문제였다. 다만, 이번 문제는 출력이 조금 까다로웠다. '문제를 어떻게 풀까?'가 핵심 고민이 아니라 '어떻게 하면 깔끔하게 답을 낼 수 있을까?'가 핵심 고민인 문제였다.총 3명이고, 가장 많이 맞춘 사람의 번호를 배열에 넣어서 반환해야하는데 3명의 값을 단순 비교하게 되면 대략 6개의 scope를 가진 i..

문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이카테고리에도 나와있듯이 완전탐색을 하면 되는 문제다.다른 무언가가 더 있나 생각을 해봤지만, 총 들어오는 입력은 최대 40000개이며 비교하는 횟수도 최대 30000회이기 때문에 총 연산이 억 단위에 미치지 못한다.(값을 올리고 내리는 것까지 포함해도 역시나 코드 상에 있는 연산 횟수가 억 단위에는 절대 도달하지 못한다.) 그렇기에 하나하나 대조해가며 카운팅을 해주면 된다. 출력이 고민할 거리오히려 이 문제는 출력에서 고민을 많이 했다.가장 높은 점수를 받은 사람의 숫자가 아니라 번호를 출력해야하고, 여러명일 경우 오름차 순으로 출력해야한다. 3..
![[TIL] 99클럽 코테 스터디 19일차 TIL : 그리디6, 우선순위 큐](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxsjSp%2FbtsKLwNlgRj%2FG5aZupaMimAauVZykjdPo0%2Fimg.png)
🚀 오늘의 문제풀이 글은 여기에 있습니다. ▼ 백준 1374번 강의실 - C++문제N개의 강의가 있다. 우리는 모든 강의의 시작하는 시간과 끝나는 시간을 알고 있다. 이때, 우리는 최대한 적은 수의 강의실을 사용하여 모든 강의가 이루어지게 하고 싶다.물론, 한 강의실에noguen.com 📖 오늘의 학습우선순위 큐를 다익스트라 때는 많이 사용했는데 이런 문제에서 사용해본건 거의 처음인거 같다.정렬 한 번으로 끝나는게 아니라 들어오는 값을 계속해서 비교를 해야할 때 우선순위 큐를 사용하는 거라고 생각한다. 🤔 오늘의 회고회사도 가고 감기도 걸리고 이런저런 일들로 많이 힘들다.오늘의 문제는 성장할 만한 문제였는데 컨디션이 따라주지 못해 너무 아쉽다...기력을 좀 회복하고 다시 정리하는 시간을 가져야겠다.

문제N개의 강의가 있다. 우리는 모든 강의의 시작하는 시간과 끝나는 시간을 알고 있다. 이때, 우리는 최대한 적은 수의 강의실을 사용하여 모든 강의가 이루어지게 하고 싶다.물론, 한 강의실에서는 동시에 2개 이상의 강의를 진행할 수 없고, 한 강의의 종료시간과 다른 강의의 시작시간이 겹치는 것은 상관없다. 필요한 최소 강의실의 수를 출력하는 프로그램을 작성하시오. 입력첫째 줄에 강의의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 줄마다 세 개의 정수가 주어지는데, 순서대로 강의 번호, 강의 시작 시간, 강의 종료 시간을 의미한다. 강의 번호는 1부터 N까지 붙어 있으며, 입력에서 꼭 순서대로 주어지지 않을 수 있으나 한 번씩만 주어진다. 강의 시작 시간과 강의 ..
![[TIL] 99클럽 코테 스터디 18일차 TIL : 그리디5](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCR3aM%2FbtsKIDTZ0Pe%2FhZRNyuy0T3kO0dgVyR5YY1%2Fimg.png)
🚀 오늘의 문제풀이 글은 여기에 있습니다. ▼ 백준 2212번 센서 - C++문제 입력 출력 문제 링크https://www.acmicpc.net/problem/2212 풀이시간 관계상 풀이는 다음에 올리겠다... C++ 코드#include #include #include using namespace std;int N, K;int S[10000];int D[10000];int answer;void input()noguen.com 📖 오늘의 학습이번 문제도 그리디.센서 사이의 거리를 정렬하여 크기 순으로 나열 한 뒤, 가장 큰 `K - 1`개를 제외해주면 끝이다. 🤔 오늘의 회고풀이는 쉬웠는데 정리를 할 시간이 부족했다.일 끝나고 집에 돌아와서 하려니 상당히 힘들다.이직할 생각으로 하는것도 ..

문제 입력 출력 문제 링크https://www.acmicpc.net/problem/2212 풀이시간 관계상 풀이는 다음에 올리겠다... C++ 코드#include #include #include using namespace std;int N, K;int S[10000];int D[10000];int answer;void input() { cin >> N >> K; for(int i = 0; i > S[i]; } sort(S, S + N);}void solve() { for(int i = 1; i

문제계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점수를 얻게 된다. 예를 들어 와 같이 시작점에서부터 첫 번째, 두 번째, 네 번째, 여섯 번째 계단을 밟아 도착점에 도달하면 총 점수는 10 + 20 + 25 + 20 = 75점이 된다. 계단 오르는 데는 다음과 같은 규칙이 있다.계단은 한 번에 한 계단씩 또는 두 계단씩 오를 수 있다. 즉, 한 계단을 밟으면서 이어서 다음 계단이나, 다음 다음 계단으로 오를 수 있다.연속된 세 개의 계단을 모두 밟아서는 안 된다. 단, 시작점은 계단에 포함되지 않는다.마지막 도착 계단은 반드시 밟아야 한다.따라서 첫 번째 계단을 밟고 이어..