묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결입문자를 위한 코딩테스트 핵심(이론과 문제풀이) [Python]
도전 과제 문제 정답
선생님 안녕하세요 도전과제 문제 정답코드는 어디서 확인할 수 있을까요!?
-
해결됨SQL 코딩테스트를 위한 첫 걸음
work bench 설치관련 문의
안녕하세요 윈도우 환경에서 work bench 설치 관련하여 문의드립니다.영상 상으로는 Developer default로 설정해서 설치하는 걸로 되어 있는데 저는 따로 그 옵션이 없습니다.Custom으로 설정해서 pdf 파일에 본대로 똑같이 설치하면 Workbench가 설치가 안되서요사진 첨부 합니다 확인부탁드립니다..!
-
해결됨2주만에 통과하는 알고리즘 코딩테스트 (2024년)
완전탐색 1816번 암호 키 문제 질문
안녕하세요!백준 1816번 암호 키 문제에 관한 질문이 있는데요우선 제가 초급자라서 허접한 질문이어도 양해부탁드립니다.for-loop이 100만째 되는 시점에 "YES"를 print 하는건 이해가 되는데요.제가 아래 두번째 코드에 적은 것처럼 어차피 100만에서 for-loop이 종료되니까 print("YES")를 해주면 된다고 생각했는데 백준에 두번째 코드를 제출해보니까 틀린 답이라고 나오더라구요.혼자 고민을 해보았는데 결론이 나오질 않아서 질문드립니다.강의에서 보여주신 것처럼 첫번째 코드에서 i == 100만이라는 조건을 붙여줘야 하는 이유가 무엇일까요??감사합니다.n = int(input()) for _ in range(n): tc = int(input()) for i in range(2, 1_000_001): if tc % i == 0: print("NO") break if i == 1_000_000: print("YES") #---------------------------------- n = int(input()) for _ in range(n): tc = int(input()) for i in range(2, 1_000_001): if tc % i == 0: print("NO") break print("YES")
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-P 질문이 있습니다!
http://boj.kr/511ca2fd92df4f8886ede64c256bd10e안녕하세요 선생님!재귀를 이용하여 양옆의 톱니들과 비교해 계속해서 갱신해 나가는 방법으로 로직을 구현하였습니다.테스트 케이스로 테스트 중 일부는 맞고 일부는 틀리게 결과가 나옵니다.디버깅도 해보았으나 적절한 문제점을 찾지 못하였습니다.혹시 로직에서 틀린 부분이 있을까요?제 눈이 더 이상 보이지 않아서 질문 드립니다ㅠㅠ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-B counting star 질문
안녕하세요 선생님for(char a : str){cnt[a - 'a']++;}이 부분이 이해가 잘 되지 않습니다..ㅠㅠ cnt[a-'a']++ 이면 cnt[0]의 인덱스만 증가한다는 거 아닌가요??아니면 여기서 a가 str배열을 나타내고 있는 것인가요?어떤 메커니즘인지 잘 모르겠습니다ㅠ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
질문있습니다.
문제 : 긍정왕 홍철이의 구걸 여행제가 코드는 다 맞았는데 ny,nx를 전역변수로 해주니 값이 다르던데 왜 다른지 잘 모르겠습니다.보통 ny,nx는 지역변수로 해줘야 하나여?#include <bits/stdc++.h>using namespace std;int a[3][3] = {{10,20,21},{70,90,12},{80,110,120}};const int dy[] = {-1,0,1,0};const int dx[] = {0,1,0,-1};int visited[3][3];int ny, nx;vector<int> v;void print() { for(int i : v) cout << i << ' '; cout << '\n';}void dfs(int y, int x) { visited[y][x] = 1; v.push_back(a[y][x]); if(y == 2 && x == 2) { print(); return; } for(int i = 0 ; i < 4 ; i++) { ny = y + dy[i]; nx = x + dx[i]; if(ny < 0 || ny >= 3 || nx < 0 || nx >= 3) continue; if(visited[ny][nx]) continue; dfs(ny,nx); visited[ny][nx] = 0; v.pop_back(); }}int main() { dfs(0,0);}
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-A 일곱난쟁이 공유 소스 오류 질문
선생님께서 올려주신 공유 소스를 dev c++ 컴파일 하였을 때 오류가 납니다 ㅠㅠ 문제가 무엇일까요? 마지막 for(int i : v) cout << i << " "; 여기서 빨간 표시가 뜨더라구요..!!http://boj.kr/6b0acb8d4af043f88800c74b72d7761010 9 C:\Users\PC\Desktop\AA\main.cpp [Warning] extended initializer lists only available with -std=c++11 or -std=gnu++1129 14 C:\Users\PC\Desktop\AA\main.cpp [Error] range-based 'for' loops are not allowed in C++98 mode
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-K 질문 있습니다.
일단 모든 케이스에 대해 다 정답처리가 됐지만, 틀렸다고 합니다. 그래서 제가 왜 그런지 잘 모르겠고 의문점을 가져서 질문을 하였습니다.첫번 째 주석을 보시면 저는 저런식으로 생각했는데 저렇게 하는게 시간복잡도상 더 효율적이라고 판단하는데 어떻게 생각하는지 궁금합니다. 메모리도 128MB라 충분하다고 판단하여 저렇게 썼습니다.어떤 점에서 이게 틀린지 지적해주시면 감사하겠습니다. http://boj.kr/4196de180bb04eac9c50cd3825761e1e
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
[이분탐색] 최댓값 설정
안녕하세요. 이분탐색 문제를 풀다가 질문이 생겨서 문의남깁니다. 6-F의 경우 최댓값을 1e18+4로 설정합니다.http://boj.kr/cb329d7bb6e049b590ebc6c647d69f5c 이에 반해, 6-G의 경우 최댓값을 1e9로 설정하는데요.(hi = 1e18로 하면 틀렸다고 뜹니다.)http://boj.kr/cddbd0a20bc54eb7ba549c25c6f3b187 그 이유를 알 수 있을까요??어떤 기준으로 최댓값을 설정해야 하는지 모호합니다.
-
해결됨자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
10-4. 동전교환(냅색 알고리즘)
안녕하세요. 선생님. 동적계획법 파트에서 [동전교환(냅색알고리즘)] 정답 코드에 오류가 있는 것 같습니다. 제 파일만 그런지 모르겠는데, 첫번째 for 문에서 i 가 1부터 초기화되고, 뒤에 변수명이 arr.length로 되어있습니다.( arr.length > coin.length) 확인 부탁드립니다!좋은 강의 감사드립니다..!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-G 맞왜틀 질문입니다.
http://boj.kr/81a1ae0b49434b32aa98a3a34c0c8f42 반례를 찾는 것에 어려움을 느껴 질문드립니다.좋은 강의 감사드립니다!
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
이번 문제 접근방식 질문드립니다.
저도 배열로 접근했고 cnt와 answer 2가지 변수를 선언한 것까지는 동일했지만...solution은 전혀 달랐습니다. 현재 문제의 정답여부와 이전 문제의 정답여부를 비교하면...총 4가지 케이스가 있다는 걸 알게 되어..1 1 현재 문제도 맞고 이전 문제도 맞은 경우1 0 현재 문제가 맞고 이전 문제는 틀린 경우0 1 현재 문제는 틀리고 이전 문제는 맞은 경우0 0 현재 문제도 틀리고 이전 문제도 틀린 경우로..코딩하였더니 소스도 길어지고..답도 틀렸습니다.... 명쾌한 영상을 보고 나니왜 단순하게 선생님처럼문제가 정답일 때만 코드를 작동하도록생각하지 못 했을 가요...? 사고방식에 문제가 있는 건 아닌지..문제를 파악하는 노하우가 있을 가요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-G 문제 질문입니다.
안녕하세요 1-G 문제를 풀었는데일단 게시판에 있는 반례를 다 적용하여도 틀렸다고 하는데 알고리즘 부분에서 복잡해서 그런거 같은데 어떤 문제점이 있는가요?http://boj.kr/7c33677aa106459385854be91d02ac26아.... 제가 다시 보니 asterisk가 한 개이군요,,,, 저는 asterisk 갯수도 제한 없는 줄 알았네요.. ㅎㅎㅎ;
-
해결됨[파이썬/Python] 문과생도 이해하는 DFS 알고리즘! - 입문편
연결되어 있고 아직 방문하지 않은 노드에 대한 방문 순서 관련
제가 경험이 부족해서 그런 것 같은데요, 이 문제는 'x < y'라는 조건이 없다면 DFS로 풀 수 있는 문제가 아닌 것 같다는 생각이 들었습니다.https://www.acmicpc.net/problem/2644에서 '입력' 파트를 보면, '번호 x는 뒤에 나오는 정수 y의 부모 번호를 나타낸다.'라고만 나와있습니다. 즉, 'x < y'라는 조건이 주어져 있지 않습니다. 부모 노드 번호가 자식 노드 번호보다 작다는 조건이 주어져 있지 않는 것입니다.그래서 저는 이 문제가 DFS로 풀리는 문제가 아닐 것 같다고 생각했었습니다. 위 그림에서는 노드2의 부모가 1이지만, 2보다 값이 큰 3이 될 수도, 4가 될 수도 있을 것이라 생각했습니다. 따라서 노드2를 방문한 이후에, 노드2와 연결된 노드 중 아직 방문하지 않은 노드들 중 어떻게 부모 노드를 찾아야하지? '부모 노드 번호 < 자식 노드 번호'라는 조건이 없으면, 부모 노드를 찾을 수 없을 것 같은데?하는 생각이 들었습니다. 문제에서 x<y라는 조건이 없는 것 같은데, 어떻게 '나와 연결되어 있고 아직 방문하지 않은 노드 중 번호가 가장 작은 노드를 방문해야겠다'는 생각을 하신 것인지 궁금합니다..
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
구간합 질문 있습니다.
구간합 풀이에서 강사님께서 항상 typedef long long ll;로 설정을 하시는데 풀이에서는 long long을 사용하지 않는데 타입 정의를 해주는 이유가 따로 있으신지 궁금합니다.
-
해결됨[파이썬/Python] 문과생도 이해하는 DFS 알고리즘! - 입문편
문제 조건 관련 질문
문제(https://www.acmicpc.net/problem/1260)에 다음과 같은 조건이 있는데, 이게 무슨 의미인가요..?어떤 두 정점 사이에 여러 개의 간선이 있을 수 있다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-B 동전뒤집기
안녕하세요 먼저 제가 처음 작성한 코드입니다.http://boj.kr/fa4a2cffd39f4e388d7b79b7d140679강사님의 코드와 99% 유사한데, 17코드, FOR문에서 i<=(1<<n)로 작성하였을 때, 틀렸다고 나왔습니다. 여기서, i<=(1<<n) --> i<(1<<n)로 변경하였을 때는 맞다고 나왔습니다. 그런데, 저는 (1<<n)열까지 포합시켰을 때 틀린 이유를 모르겠습니다.(1<<n) 열은 아무 값도 없어서 굳이 탐색할 필요 없지만, 전역변수로 선언하면 어차피 0으로 초기화 되므로, cnt는 항상 0이 되야 된다고 생각했는데1<<n열의 값을 출력해보니까 -5,-6 같은 값이 들어가 있는 이유를 모르겠습니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-K 시간초과 질문
https://www.acmicpc.net/source/66823795안녕하세요 선생님 항상 좋은 강의 감사드립니다.해당 코드를 보면 선생님의 코드와 사실상 동일한 것 같은데,왜 시간초과가 발생하는지 모르겠습니다. ㅠㅠ제가 어떤 부분을 놓치고 있는 걸까요?
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
07-01 선택정렮
코드보다는 알고리즘의 사용이유입니다. sort()를 사용하면 간단하게 구현 할 수 있는데, 선택정렬을 사용하는 이유가 궁금합니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-B 메모리초과
안녕하세요 선생님문제를 풀던 중 궁금한 내용이 생겨서 질문 드립니다.#include<bits/stdc++.h> using namespace std; string str; string bstr; stack<char> st; int flag; int main() { cin >> str >> bstr; for (int i = 0; i < str.length(); i++) { st.push(str[i]); if (st.size() >= bstr.size() && st.top() == bstr[bstr.length() - 1]) { // 마지막이랑 똑같으면 string istr = ""; for (int a = 0; a < bstr.length(); a++) { istr += st.top(); st.pop(); } reverse(istr.begin(), istr.end()); if (istr != bstr) { for (int b = 0; b < istr.length(); i++) { st.push(istr[b]); } } } } str = ""; if (st.size() == 0) { cout << "FRULA" << "\n"; } else { while (st.size()) { str += st.top(); st.pop(); } reverse(str.begin(), str.end()); cout << str << "\n"; } return 0; } 제가 처음으로 작성한 코드입니다.for(char a : str) st.push(a) 같이 범위 기반 for문 대신for (int i = 0; i < str.length(); i++) st.push(str[i]) 같이 원래의 for문 방식을 사용했다가메모리 초과 오류를 겪었습니다.두 방법이 어째서 메모리 차이가 많이 나는지 궁금합니다!항상 감사합니다 좋은 하루 되세요 :)