묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨SQL 코딩테스트를 위한 첫 걸음
workbench 테이블 생성
안녕하세요! workbench에서 스키마는 생성했는데 테이블은 어떻게 생성하나요? 제공해주신 세팅 코드를 입력해서 테이블 구조를 보고 싶은데 이 부분에서 해결이 안돼요.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
누적합 인덱스 1부터 질문
안녕하세요.누적합 psum 배열을 만들 때 인덱스 1부터 시작하라고 하셨는데요.그럼 누적합을 만들 원본배열 a같은 경우도 인덱스 1부터 시작해야하는건가요? int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int psum[11] = {0}; for(int i=1; i<11; i++) { psum[i] = psum[i-1] + a[i]; }이렇게하면 알려주신 공식과 다른 값이 나와서요
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-H 질문입니다.
http://boj.kr/19576287b7eb4247940b1b8e63b459f2 안녕하세요.어디가 틀렸는지 모르겠네요. ㅠㅠ선생님 풀이와 로직은 비슷한거같은데 반례를 못찾겠습니다.혹시 반례를 찾는 팁도 알려주시면 감사하겠습니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-e 코드 질문 있습니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.dp의 첫 인덱스에 알약 복용한 일차 / 두번째에는 0일시, 해당 일차에 1/2 꺼냈을 때 / 1일 시 해당 일차에 1 꺼냈을 때 이렇게 세팅하였는데, 결과가 잘 안나옵니다. 혹시 제 코드에 어떤 문제점이 있는지 알 수 있을까요?#include <bits/stdc++.h> using namespace std; int dp[64][2]; // dp[day][0] -> 남은 반쪽 약의 개수, dp[day][1] -> 남은 하나 약의 개수 int c; int move(int day, int tA, int tB) { if (tA <= 0 && tB <= 0) return 0; // 기저 조건 if (dp[day][0] != -1 && dp[day][1] != -1) return dp[day][0] + dp[day][1]; // 이미 계산된 상태 반환 int ret1 = 0; int ret2 = 0; // 반쪽 약을 먹는 경우 if (tA > 0) { ret1 += move(day + 1, tA - 1, tB); } // 하나짜리 약을 꺼내서 반쪽 약을 추가하는 경우 if (tB > 0) { ret2 += move(day + 1, tA + 1, tB - 1); } // dp 배열에 결과 저장 dp[day][0] = ret1; dp[day][1] = ret2; return ret1 + ret2; } int main() { cin >> c; memset(dp, -1, sizeof(dp)); // dp 배열 초기화 dp[1][0]=1; dp[1][1]=c-1; // 하나를 쪼개서 반이 된 상태임 // 첫째날은 반쪽 약 1개, 하나 약 c-1개로 시작 cout << move(1, 1, c - 1) << "\n"; return 0; }
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-B 출력관련 질문드립니다.
http://boj.kr/2b235b78257544c8a6575820cf9e5d91 안녕하세요제가 풀었는데 출력을 해보면 마지막에 %가 붙어서 나오더라구요. 근데 코드를 올리면 정답이라고 뜨네요.%가 혹시 왜 붙어나오는지 알 수 있을까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-A 풀이 조합/순열 질문입니다.
http://boj.kr/f59749ffbbe643afad8bf3f22b8d3816 안녕하세요.nCr 강의에서 암기하라고 하셨던 combination 함수를 이용해서 풀었습니다.선생님 풀이에서 nPr로 풀이하셨는데 해당 방법도 알고있어야겠죠?nCr을 가르쳐주셔서 그방법으로 풀려고 고민했었는데, 왜 nPr로 풀이해주셨는지 궁금합니다.
-
미해결눈떠보니 코딩테스트 전날
문제 3 - 섬으로 건너가라.js
강의 마지막에 문제가 수정되었다고하니 너무 당황스럽네요 ㅠㅠ지금 노션에 있는 기대 값은 변함 없나요?오히려 강의 마지막에 나온것처럼 계산하면 기대 값과 다르게 나와서 질문 드립니다.입력 대기인원 = 14000605 출력 2025년 2월 413일 11시 0분 출발 입력 대기인원 = 1200202 출력 2020년 1월 1000일 11시 0분 출발
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
강의교안 질문입니다.
구조체 기반 sort를 사용할 때 주의 할 점(강의교안 137p) 내용이 잘 이해가 안됩니다. 글 내용만 봤을때 구조체 정렬 코드를 작성할 때 ">" 오퍼레이터 대신 "<" 오퍼레이터만 사용해서 정의 하라는 내용으로 이해를 했는데 이후 코드를 보면 ">" 오퍼레이터도 사용되는 것을 볼수 있습니다. 조금만 더 자세히 설명해주시면 감사하겠습니다!
-
해결됨코딩테스트 [ ALL IN ONE ]
반복문 강의에서
반복문 강의에서 다중반복문을 단축키로 한번에 만드시던뎅..어떤 단축키를 사용해야 하나요? c에서는 '*' 사용해서 했던 것 같은데.. 가물가물...
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
백준 2110문제
def is_possible(k): # return True if k이상이 가능하면 global N, C, arr bef_idx = 0 cnt = 1 for idx in range(1, N): if arr[idx] - arr[bef_idx] >= k: bef_idx = idx cnt += 1 return (cnt >= C) 파라매트릭문제인 2110문제에서k가 1이라면cnt는 5가되는거고(예제기준으로) cnt >= C라는기준이사용해야하는 공유기 갯수(cnt) 그리고 주어진공유기 갯수(C)로 해석하면cnt가 C보다 크거나 같으면 주어진공유기보다 많이사용한거니까 false가 나와야하지않나요??? 그러면k=1일때는 공유기가3개주어졌는데 5개를써야하는데 k가 2일때부터 설명을 해주셔서 k=1일때의 설명이 없는이유가 궁금합니다
-
해결됨코딩테스트 [ ALL IN ONE ]
답을 보면서 공부하는 게 좋을까요?
가끔 어려운 거는 답을 봐도 왜 이게 답인지 모르겠는 경우가 간혹 있는데요 여튼 코테 문제를 풀 때 너무 답이 안 나오면 답을 보는 게 좋을까요 아니면 붙잡는 게 좋을까요? 사람마다 다 이야기가 달라서 혼동이 됩니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-G 질문있습니다!
선생님과 다른 방식으로 로직을 짰는데뭐가 틀렸는지 찾지 못해서 질문 남깁니다.#include <bits/stdc++.h> using namespace std; int N; string input, pattern; int main() { cin >> N >> pattern; // 패턴을 '*'를 기준으로 앞 뒤로 나누기 int pos = pattern.find('*'); string prevPattern = pattern.substr(0, pos); string nextPattern = pattern.substr(pos + 1); for (int i = 0; i < N; i++) { cin >> input; if (input.find(prevPattern) != string::npos && input.substr(input.find(prevPattern) + prevPattern.size()).find(nextPattern) != string::npos) cout << "DA" << '\n'; else cout << "NE" << '\n'; } return 0; }
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-G 질문있습니다 :)
안녕하세요 선생님 🙂 이 문제가 의미하는 것이 무엇인지 정확하게 모르겠어서 질문 드립니다. n가지 종류의 동전들의 합이 k보다 작으면 -1, 아니라면 주어진 동전의 가치들로 k이상이 된다면 k를 만들 수 있는 동전의 최소 갯수를 출력하는 문제로 이해했습니다. 하지만 제가 이해한대로라면 테스트케이스의 출력 값은 1을 제외한 5와 12로, 총 2개가 되기 때문에 2가 출력이 되어야 합니다. 무언가 이해를 잘못했나보다 싶어서 강의를 틀었는데요, 문제를 이해했다는 가정으로 설명을 해주셔서 머리 속에 들어오지가 않더라구요.. 흑흑머리가 좋지 않은 제게 약간의 설명을 해주실 수 있을까요..??
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-F 질문있습니다 :)
안녕하세요 선생님 🙂이번 강의에서도 좋은 아이디어를 배워간 것 같습니다. 정말 감사합니다 ^^ 너무 좋은 코드라 이것저것 뜯어보면서 테스트를 해봤는데요, 몇 가지 이해가 되지 않는 부분이 있어서 질문 드립니다. go함수의 조건문에서 if와 else if가 헷갈립니다. if (n % 3 == 0 && dp[n] == (dp[n / 3] + 1)) func(n / 3); else if (n % 2 == 0 && dp[n] == (dp[n / 2] + 1)) func(n / 2); else if (n - 1 != 0 && dp[n] == (dp[n - 1] + 1)) func(n - 1);if문 안에서 조건 처리를 전부 해주었기 때문에 else if가 아닌 if문을 사용해도 될 것이라고 생각했습니다. 하지만 테스트케이스에 2를 넣었을 때, 2 1 1이 출력되더라구요. 무엇때문에 이렇게 출력이 되는지 알려주시면 정말 감사하겠습니다! go함수의 탈출 조건을 없애도 정답 처리가 됩니다.if (here == 0) return; 을 없애도 정답 처리가 됩니다. n이 0이 될 수 있는 방법이 없기 때문에 문제가 없는 것 같습니다.코드가 한 줄밖에 안돼서 성능 차이는 없고 이런 것까지 질문하냐고 생각하실 수도 있지만, 만약 프로젝트에서 이러한 코드가 계속해서 누적이 된다면 성능에 영향을 미칠 수도 있겠다 싶더라구요. 제 생각이 맞는지 궁금해서 여쭤봅니다..!! go함수의 조건문 안에서 괄호를 쳐주신 이유가 궁금합니다.http://boj.kr/0c7fd72a3f0c4f6bbe386755e7845c39별다른 이유 없이 습관적으로 치셨을 수도 있겠지만, 조건문 안의 괄호를 빼면 시간이 4ms이 아닌 8ms로 되는 것을 볼 수 있습니다.간헐적으로 발생한 문제일 수도 있겠지만 테스트를 몇 번 해봤는데도 계속 8ms로 나오더라구요. 혹시 조건문 안의 괄호가 시간복잡도와 연관이 있는 것인지 궁금합니다!!
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-P 질문 있습니다.
void flower(int cnt,int hap) { if (cnt == 3) { ret = min(ret, hap); return; } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { if (check(i, j)) { flower(cnt+1,hap + setFlower(i, j)); eraseFlower(i, j); } } } }이 부분에서 질문이 있습니다. 문제를 보면 화단 밖으로 꽃잎이 나가게 된다면 그 꽃은 죽어 버린다고 나와있는데 그러면i와 j의 범위가 0부터 n-1까지가 아닌 1부터 n - 2까지여야되는 것이 아닌가요? 0과 n-1부분에 꽃이 있으면 그 꽃은 죽은거라 빼고 계산을 해야되는것이 맞지 않나 궁금합니다!
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-B 질문있습니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 1.HHT -> 001 (4)THH -> 100 (1)THT -> 101 (5)이렇게 2진수로 변환하는 것은 이해가 됐습니다.그런데 (001 -> 4 (1 * 0 + 2 * 0 + 4 * 0 = 4) 라고 하셨는데 001 이면 자리의 가중치가 124 순서가 아니라 421 아닌가요..? 그냥 외울까 싶었는데.. 더 헷갈려서 질문 납깁니다. 2.그리고 go 함수 호출에 대해서 궁금한 게 있습니다.일단 순서가 go(1) - > go(2) -> go(3) -> go(4) 종료됨 -> go(3)으로 돌아와서 뒤집고 go(4) 또 실행되서 종료.다시 go(2)로 돌아왔을 때 아까 앞에서 뒤집혔던 상태로 있어도 상관없는 건가요? 3.a 배열의 크기가 왜 44인지 모르겠습니다. 어차피 행만 넣을 거니깐 넉넉히 잡아도 25 여도 상관없는 거 아닌가요? 그냥 넉넉하게 잡아서 44인지 아니면 이유가 있는 걸까요?항상 좋은 수업 감사합니다!!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-J 주난이의 난
안녕하세요 큰돌선생님선생님 덕분에 점차 백준 문제들을 생각하고 풀수 있게 되고 골드 문제까지도 한번씩 맞추다 보니 행복하게 코테 준비를 하고 있습니다. 감사합니다 https://www.acmicpc.net/submit/14497/83745509위의 링크처럼 코드를 작성하면 시간초과가 발생하지만 dfs() 함수 부분에서 if(arr[y][x] == '0') 이부분을 없애고 아래와 같이 고치면 맞다고 뜨는데 어떤 이유에서 그런걸까요? for(int i=0; i<4; i++){ int ny = y + dy[i]; int nx = x + dx[i]; if(ny < 0 || nx < 0 || ny >= n || nx >= m) continue; if(visited[ny][nx]) continue; if(arr[y][x] == '1'){ v.push_back({y,x}); continue; } dfs(ny,nx); }
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
진도 문의
104개 강의 다들은거 같은데,103개 완료라고만 뜹니다. 확인 방법이 있을까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-I번 문제를 보고 qSize를 이용하여 풀었습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.http://boj.kr/f623162b10b6435aa0da766d834df0d8안녕하세요 큰돌님 먼저 양질의 강의 너무 잘 보고 있습니다.급하지 않게 여러 번 복습해가며 문제 풀이를 하고 있어 아직도 3주차 문제들을 풀고 있네요 ㅎㅎ다름이 아니라 3-I 문제를 보고 qSize 변수가 로직에 어떤 영향을 끼치는 걸까 의문이 들어 해당 문제를 여러번 디버깅 해보고레벨 단위로 탐색한다는 말에 뮤탈리스크 문제가 생각이 나 복습 겸 풀어봤습니다.혹시 실례가 안된다면 코드 리뷰 한 번 부탁드려도 괜찮을까요?
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
고급 BFS, DFS 는 어떻게 공부해야 할까요?
안녕하세요! 하반기 채용 때문에 코딩테스트 찾아보다가 제가 너무 원했던 강의라서 결제 후에 개념 위주로 빠르게 보는 중입니다.요약하자면 코딩테스트에서 DFS나 BFS 문제들이 나올 시에 기본적인 내용 + 문제해결력(테크닉) 으로 나오는 것 같은데테크닉 적인 부분은 어떻게 공부를 해야될까요? 가령https://school.programmers.co.kr/learn/courses/30/lessons/1832 풀이를 찾아보면 3차원(checked)으로 풀면 풀리긴 하는데, 제 직관으로는 각 그래프 경로를 분리해낸다는 컨셉이 당연하게 느껴지지가 않더라구요. 이런 까다로운 문제를 상대하려면 어떤 부분이 잘 준비되어 있어야 할까요? 강의 중에 비슷한 문제가 있다면 그부분 해설강의 꼼꼼히 봐보려고 합니다