Algorithm(127)
-
[알고리즘] 5215. 햄버거 다이어트
0. 문제 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 민기가 좋아하는 햄버거를 먹으면서도 다이어트에 성공할 수 있도록 정해진 칼로리 이하의 조합 중에서 민기가 가장 선호하는 햄버거를 조합해주는 프로그램을 만들어보자. 1. C++ 가. 제출 #include #include using namespace std; const int MAXN = 20; int n, l, ret; int t[MAXN], k[MAXN]; void solve(int depth, int cal, int score){ if(depth == n){ if(cal ret){ ret = score; } return; } if(cal > l) re..
2024.01.21 -
[알고리즘] 1024. 수열의 합
0. 문제 1024번: 수열의 합 첫째 줄에 N과 L이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이고, L은 2보다 크거나 같고, 100보다 작거나 같은 자연수이다. www.acmicpc.net 1. 제출 #include #include #include using namespace std; int n, l; vector find(){ vector vec; int cur = l; while(cur > n >> l; vector vec = find(); for(int i : vec) cout N >> L; for (int length = L; length = 0) { // 등차수열의 시작 값 계산 int a1 = (N - constant) / length; // 길이가 100보다 작거나..
2024.01.14 -
[알고리즘] 창용 마을 무리의 개수
0. 문제 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 문제 이해 이건 인접리스트를 만들고 dfs로 connected component의 수를 세는 문제라고 생각했다. 2. 실패 가. 실패 : 입력값 범위 #include #include #include using namespace std; const int MAX_N = 100; int n, m, visited[MAX_N]; vector adj[MAX_N]; void dfs(int node){ visited[node]++; for(int next : adj[node]){ if(visited[next]) continue; dfs(next); } retu..
2024.01.09 -
[알고리즘] 단계적으로 문제 풀기
1. 파리퇴치3 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 가. 제출 #include #include using namespace std; int n, m; int a[15][15]; int dy[2][4] = {{1, -1, -1, 1}, {1, 0, -1, 0}}; int dx[2][4] = {{1, 1, -1, -1}, {0, 1, 0, -1}}; int sum(int y, int x){ int sum[2]; for(int i = 0; i = n); if(underflow || overflow) continue; sum[i] += a[ny][nx]; } } } return max(sum[0], sum..
2024.01.08 -
[알고리즘] 4949번: 균형잡힌 세상
0. 문제 4949번: 균형잡힌 세상 각 문자열은 마지막 글자를 제외하고 영문 알파벳, 공백, 소괄호("( )"), 대괄호("[ ]")로 이루어져 있으며, 온점(".")으로 끝나고, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마지막에 www.acmicpc.net 1. 문제 이해 문자열을 입력받는다. .이면 프로그램을 종료한다. 각 문자열마다 (, [는 스택에 push한다. 스택이 언더플로우가 아니라면 ), ]는 pop한다. 스택 언더플로우라면 no를 출력한다. 스택에 (, ]이 남아있다면 no를 출력한다. 스택이 비어있다면 yes를 출력한다. 2. 제출 가. 틀렸습니다. // 백준 4949번: 균형잡힌 세상 #include #include #include #include using nam..
2023.09.26 -
[알고리즘] 9012번: 괄호
0. 문제 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 1. 문제 이해 올바른 괄호 문자열인지 판단하여 YES나 NO를 출력하는 문제다. 올바른 괄호 문자열인지 판단하는 방법은 Stack을 활용하면 좋겠다. 여는 괄호 (는 스택에 저장한다. 닫는 괄호 )는 스택의 최상위 (를 삭제한다. 모든 문자에 대하여 실행했을 때 스택이 비어있다면 Yes 아니면 NO 2. 제출 //백준 9012번: 괄호 #include #include using namespace std; stack st..
2023.09.26 -
[알고리즘] 1436번: 영화감독 숍
0. 문제 1436번: 영화감독 숌 666은 종말을 나타내는 수라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워 www.acmicpc.net 1. 문제 이해 666 1666 2666 3666 4666 5666 6660 6661 6662 6663 6664 6665 6666 6667 6668 6669 7666 8666 9666 10666 11666 12666 13666 14666 15666 16660 16662 16663 … ??. 26660 … ??. 36660 … ??. 56669 ??. 66600 ??. 66601 제일 단순한 방법은 1씩 더해가면서 연속으로 6이 3번 나오는 경우를 찾..
2023.09.26 -
[알고리즘] 2852번: NBA 농구
0. 문제 2852번: NBA 농구 첫째 줄에 골이 들어간 횟수 N(1 N; for(int i=0; i> tNum >> input; now = parse(input); if(score1>score2){ t1 += now - prevTime; }else if(score1score2){ t1 += 2880 - prevTime; }else if(score1
2023.09.16