묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-E 끝에서 return 1하는건 알겠는데 dp배열을 초기화 안해도 되나요?
왜 안해도 결과가 잘 나오는지 궁금하네요이전 테스트 케이스 결과가 dp에 반영되어있지않나요?테스트 케이스끼리도 같은 구조가 반복되어서 dp를 초기화 안해도 되는건가요
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
배열에 for of, 객체에 for in이라고 생각하다가 문자열에 for of 너무 좋군요
감사합니다.function solution(question) { let answer = 0; for (const x of question) { if (x === x.toUpperCase()) answer++; } return answer; } console.log(solution("KoreaTimeGood"));
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
제가 풀던 방식과 이전에 배운 for of를 이용해서 두가지 방법으로 풀어보았습니다
감사합니다.function solution2(question, word) { let i = 0; for (const x of question) { if (x === word) i++; } return i; } function solution(question, word) { return question.split(word).length - 1; } console.log(solution("COMPUTERPROGRAMMING", "R")); console.log(solution2("COMPUTERPROGRAMMING", "R"));
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
특정 단어를 기준으로 split으로 자르고 join으로 다시 붙여서 풀었습니다
감사합니다.function solution(question) { return question.split("A").join("#"); } console.log(solution("BANANA")); console.log(solution("AATTNK")); console.log(solution("AJUERHNHANLDJFMNKAMMJKDJKFAMMKA"));
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
전역변수를 사용하지 않은 백트랙킹 코드 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요 큰돌님 강의잘 보고 있습니다. 저는 다음과 같이 코드를 작성을 했는데 전역변수를 사용하지 않은 코드에서 백트래킹조건을 어디에 적어주어야 하는지 알 수 없어서 질문드립니다. 그리고 제가 재귀함수에 익숙치 않은 상태인데 재귀함수를 학습하는 방법에 대해서도 알려주실 수 있으신가요? 제가 부족해서 교안이나 강의에 해주신 설명으로는 이해하는데 어려움을 겪고 있습니다. 답변 감사합니다.int go(int idx, int sum, int mx, int n, int * a) { if (idx == n) { cnt++; return mx; } int with_item = go(idx + 1, sum + a[idx], max(mx, sum % 11), n, a); int without_item = go(idx + 1, sum, mx, n, a); return max(with_item, without_item); } int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n = 10; int a[] = {24, 35, 38, 40, 49, 59, 60, 67, 83, 98}; cout << go(0, 0, 0, n, a) << "\n"; cout << cnt; return 0; }
-
해결됨[파이썬/Python] 문과생도 이해하는 DFS 알고리즘! - 입문편
선생님! 바이러스 문제 코드 질문있어요오
선생님 안녕하세요 유튜브에서 보고 오늘 처음 수강했는데 너무 귀에 잘 들어와서 재미있어요 bfs 강의도 올려주세용!다름이 아니고 바이러스 코드 중 이해가 안 되는 부분이 있어 질문 남깁니다!def dfs(idx): global visited, graph, answer visited[idx]= True answer += 1 for i in range(1, n+1): if not visited[i] and graph[idx][i]: dfs(i)바이러스 코드에서 idx가 3이 되고 answer가 3이 되는 부분 까지는 이해를 했는데 idx가 3일 때 for문을 돌면 2는 이미 방문했기 때문에 if문은 7까지 true가 되지 못하고 종료되는 것 아닌가요? 다시 idx=2로 돌아가서 5를 방문하게 되고 1에서 6을 방문하게 되는 부분은 코드 어느 부분에서 이루어지는 건지 잘 모르겠어요ㅜㅜ
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-p14502 vector&lt;pair&lt;int,int&gt;&gt;의 조합을 뽑아내는 방법은 없을까요?
큰돌님 안녕하십니까?모범답안에서는 3중 포문을 사용해주셨는데재귀로 pair<int,int>를 Wall List를 조합으로 뽑아내서 풀이하고 싶습니다. 아이디어는vector<pair<int,int>> v; v.push_back(1개 wall의 [y][x]);void combi(int start, vector<pair<int,int>> b){ ... }로 3개를 뽑아내는 방법인데 다른 코드를 참고해도 위 아이디어는 잘 없길래 질문 드립니다.모범 코드를 제시해 주실 수 있으실까요?미리 답변 감사합니다.수강자 올림
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
히든퀘스트 10844 쉬운계단수문제 질문
안녕하세요 큰돌선생님 히든퀘스트 백준 10844 쉬운계단수 문제를 바텀업 방식으로 풀었습니다. http://boj.kr/1674b847244b43b2b1d5538557a76865로직에서 틀린부분이 없는것 같은데 바로 틀렸다고 나오는데 혹시 어느 부분이 잘못된것일까요?0과 9일때의 값을 조건문으로 처리하지 않기 위해 양쪽 인덱스를 하나씩 늘리고 0을 넣은 로직입니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-B 4:44 행, 열로 탐색하는거 포인트라 하셨는데
다른문제에서는 다르게 탐색순서를 할 수 있으니까 그런건가요
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-T 질문드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 큰돌님 강의 잘보고 있습니다.저는 이 문제를 아래와 같은 코드로 해결이 가능하다고 생각했는데 현재 출력조차 되지 않는 상황이라 질문드립니다. 현재 코드에서 아무것도 출력이 되지 않는 이유가 무엇인지 궁금합니다!#include <bits/stdc++.h> using namespace std; int n, a; stack<pair<int,int>> s; vector<int> v; int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n; for (int i = 0; i < n; i++) { cin >> a; while (s.size() && s.top().second < a) { auto p = s.top(); v[p.first] = a; s.pop(); } s.push({i, a}); } while (s.size()) { auto p = s.top(); v[p.first] = -1; s.pop(); } for (int e : v) { cout << e << " "; } return 0; }
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-B 질문있습니다.
이 문제를 보고 큐브 같다는 생각이 들었습니다. 행을 뒤집을 수도, 열을 뒤집을 수도 있으니 결론적으로 0행과 0열을 뒤집으면 0행0열의 원소는 그대로지만 나머지 0행과 0열의 원소는 뒤집은 결과를 갖게 되니까요.111111 111 이 100011011 처럼 된다는 말입니다. 근데 저는 이 문제를 보고 도저히 행 또는 열을 선택해서 완전탐색을 하면 정답을 구할 수 있다. 는 사실을 혼자서 생각하지 못했습니다. 이유는 아까 예시와 같이 행과 열을 순차적으로 조작하면 개별요소도 수정할 수 있지 않을까? 하는 생각이 들어서 였습니다. 과연 코테에서 이런 아이디어를 떠올릴 수 있을지.. 자신이 없습니다.. 혹시 이 아이디어를 어떻게 생각하셨는지 궁금합니다.감사합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
unique는 이터레이터를 반환한다.
안녕하세요 큰돌님 강의에서 11:19 쯤 설명 관련해서 교안에는 그다음 이터레이터를 반환한다고 하는데 제가 이해하기로 그저 나머지 요소가 시작되는 인덱스를 반환하는 것으로 이해했는데요 왜 이터레이터가 반복된다고 하는건가요? js로 언어를 시작해서 포인터 이런 개념이 부족한데 그런 개념이 들어간건가요? 강의 1주차인데 아직 어려운것은 없지만 C++ 확실히 다르긴하네요ㅋㅋ 좋은 강의 해주셔서 감사합니다.
-
해결됨자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
Integer.MIN_VALUE
max = Integer.MIN_VALUE로 초기화해주는 이유가 따로 있나요??
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-O 출력 관련한 질문 입니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. http://boj.kr/4dae74666d35462094e6f4f319f86ac0 해당 소스를 가지고 했는데 문제 조건 N % 2 !=0 && N % 5 != 0 에 해당하는 값을 입력할 때는 아무런 출력이 되지 않고 해당 조건을 벗어나는 값을 입력할 때만 값이 출력됩니다. 아마 제가 모르는 부분이 있거나 교안에 제가 잊은 부분이 있는거 같은데 혹시 알려주실 수 있으실까요?
-
해결됨코딩테스트 [ ALL IN ONE ]
복습 방법
현재 다익스트라와 관련된 강의까지 들어 놓은 상태이고 그 뒤는 아직 안 올라와서 나중에 들으려고 하는데 복습 겸 앞서 배운 부분을 공부해보려고 합니다 근데 어떤 걸 우선순위로 두고 공부해야 할지 잘 모르겠습니다. 그냥 백준에서 dfs bfs graph 풀면 될지 아니면 list queue 등 기초를 풀어보고 심화로 넘어가는게 좋을지 모르겠습니다 또한 알고리즘도 자주 나오는게 있고 덜 나오는게 있을텐데 뭘 먼저 풀어야할지 모르겠습니다우선순위가 높은 알고리즘을 알려주시면 감사하겠습니다
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
그래프 최단거리(BFS 질문)
for(int i=0; i<=n; i++){ //0번은 사용하지 않아 1로 했더니 에러가 나고 0으로 바뀌니 에러가 나지 않았다. 왜? graph.add(new ArrayList<Integer>()); } 질문. 0번은 사용하지 않아1로 했더니 에러가 나고0으로 바뀌니 에러가 나지 않았습니다. 왜 그런걸까요? 에러 종류Exception in thread "main" java.lang.IndexOutOfBoundsException: Index 6 out of bounds for length 6
-
해결됨[파이썬/Python] 문과생도 이해하는 DFS 알고리즘! - 입문편
질문있습니다!
선생님 안녕하세요유형2로 들어와서 이제 visited를 2차원 배열로 만들기 시작하고 나서부터 계속 제가 헷갈리는게 선생님은 dfs 배열에 인자로 x,y가 아니고 y,x로 넘기시고 또 배열도 map[y][x]로 접근하시는 이유가 있으실까요? 보통 가로축을 x로 놓고 세로축을 y로 놓는 것으로 알고 있는데혼자 고민해 봤을때는 지금 문제들이 계속 가로 세로 길이가 다르더라구요 그래서 또 2차원 배열로 생각해보면 가로축이 column이 되고 세로축이 row가 되어서 그런건가 싶기도 하고.. 유형 2 파트와서 계속 이 부분이 헷갈리네요두서없는 질문이지만 궁금해서 여쭤봅니다!감사합니다
-
해결됨2주만에 통과하는 알고리즘 코딩테스트 (2024년)
완전탐색 숫자야구 2503
c++로 수강중인 학생입니다.. 백준 숫자야구 문제 c++로 풀어주실 수는 없을까요..? 몇번 구현해보다가 멘탈이 터져버렸습니다.. 우선은#include <iostream> using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); int n; cin >> n; int numbers[1000]; int strikes[1000]; int balls[1000]; for (int i = 0; i < n; i++) { cin >> numbers[i] >> strikes[i] >> balls[i]; } int answer = 0; for (int a = 1; a < 10; a++) { for (int b = 1; b < 10; b++) { for (int c = 1; c < 10; c++) { int counter = 0; if (a == b || b == c || c == a) { continue; } for (int i = 0; i < n; i++) { int check = numbers[i]; int strike = strikes[i]; int ball = balls[i]; int strike_count = 0; int ball_count = 0; int check1 = check / 100; int check2 = (check / 10) % 10; int check3 = check % 10; // 스트라이크 계산 if (a == check1) { strike_count++; } if (b == check2) { strike_count++; } if (c == check3) { strike_count++; } // 볼 계산 if (a == check2 || a == check3) { ball_count++; } if (b == check1 || b == check3) { ball_count++; } if (c == check1 || c == check2) { ball_count++; } // 매칭 여부 확인 if (strike != strike_count || ball != ball_count) { break; } counter++; } if (counter == n) { answer++; } } } } cout << answer << '\n'; return 0; } 이렇게 풀기는 했는데 선생님이 가르쳐주신 방향하고는 살짝 다른 거 같습니다.
-
해결됨2주만에 통과하는 알고리즘 코딩테스트 (2024년)
5강 재귀(경우의 수) 4번 문제 질문드립니다.
안녕하세요, 선생님의 강의를 잘 듣고 있는 1인 입니다.1) 강의를 듣고 4번 문제를 아래와 같이 풀었는데요, 정답이 왜 0이 나오는건지, 어느 부분이 잘못된 건지 모르겠어서 질문드립니다.(5강에서 적으실때 line 18의 idx에 1을 더해주지 않으셨는데 이 부분은 +1을 빠트린게 맞으신거죠?)2)또한, 어떤 경우에 global answer를 써주는지도 한번 다루어주셨으면 좋겠습니다.3) line 8의 weight > B가 아닌 weight >= B가 되는게 더 맞는게 아닌지 질문드립니다. weight == B인 경우에 한 번 더 반복문을 돌면 이미 초과된 가방에 새로운 물건의 value를 추가해서 더하게 되는 것처럼 보이는데요, 혹시 제가 잘못 생각하고 있을까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-A 결과는 정확히 나오는데 왜 틀렸다고 하는건지 모르겠습니다
http://boj.kr/59d6674b61764f13b14b7608522239a5 9개 중에 틀린 2개를 뽑고 인덱스에 해당하는 vector요소를 erase로 지우고자 했는데 프로그램을 돌리면 값을 정확하게 나오는데 왜 틀렸다고 하는지 모르겠습니다