묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-I 맞왜틀 질문드려요
http://boj.kr/80c05cec3b4e4ca385865062da4cf15c 큰돌님과 코드가 똑같은데 제걸로 예제입력을 출력해보면5문제가 주어지면 문제에 답도 출력되고 다시 역방향출력도 한번 다시 합니다마치 if문실행하고 else문 실행하는거같습니다. 코드다른게 없는데 어디를 손대야할지 모르겠습니다. 이상합니다... 뭔가 이상한 착각을 하고있는듯합니다. .도와주세요
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-O 질문있습니다.
http://boj.kr/1e34dc4ccb4044019708d4f7f89929e3 각문자열의 마지막 문자가 온점으로 끝나므로 위에 첨부한 코드처럼getline(cin, s, '.');이런식으로 한문장의 끝을 '.'로 받아서 끝냇는데 마지막에 종료가 되지 않습니다. 왜그럴까요..?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
DFS 종화는 방구쟁이라..
제 이름이 나오니 껄쩎지근하네요 ㅎㅎ
-
미해결김영한의 실전 자바 - 중급 2편
커리큘럼 목록체크
영상 볼때 옆에 툴바에 커리큘럼 누르면 동영상 목록뜨고 수업 들으면 자동으로 체크 되자나요. 이거 체크 해제 어떻게 하나요. 만약 체크해제 기능이 없으면 유저들을 위해서 만들어 주시면 좋을거 같아요
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-L 질문입니다
선생님 안녕하세요, 강의 잘 듣고 있습니다!다름이 아니라, 테스트 케이스는 다 통과하는 코드인데, 사이트에서는 실패하는 코드 질문입니다!http://boj.kr/9cc4fa8e24ac4effba423afc531c107c 코드가 많이 더러운데, '구현문제는 그래도 맞춰야지' 하는 마인드로 이 꽉 깨물고 질척이게 한번 작성해봤습니다.그래도 가장 보기 싫은게 남이 짠 더러운 코드라서, 아래에 코드 관련해서 정보 달아두겠습니다.시간 컨테이너 : arr은 arr[][0]에는 득점 팀을, arr[][1]에는 분, arr[][2]에는 초를 담았습니다.전반적으로 정수로 받고->연산하고->스트링으로 바꾼 후 포멧팅 했습니다.관련 변수로는 arr[][1 & 2], one_t[1 & 2] (1팀 분 초) / two_t[],정수 타입 연산저장 one_t[1 & 2]<-> string o1 & o2,two_t[1&2] <-> string t1 & t2 와 맵핑됩니다.로직 :~28 line : 입력 받아서, 컨테이너에 알맞은 자료형으로 넣었습니다.~39 line : winner[]에 summation을 넣었습니다.i째 로그상황에 1팀이 이기면 winner[i] < 0, 동점이면 0, 2팀이 이기면 >0 입니다.~78 line : 각 컨테이너를 index 0부터 n-1까지 순회하며, 어느팀이 이기면 비기는 인덱스를 찾을때까지 while loop를 순회합니다. (for loop의 i와 while loop의 i는 같은 스코프라 실행문 실행 후, while문에 의해 증가한 i부터 다시 for loop 조건문 돈다고 봤습니다)1팀이 이기고, 미래에 2팀이 이기기 위해서는 중간에 꼭 비기는 경우가 존재해야만 하는(사잇값정리)생각에 근거했습니다. a1&2(after time 분&초)와 b1&2(before time 분&초)차를 이용해서 연산했습니다.만약, n-1까지 순회를 했는데도 winner[n-1]이 0이 아니라는 의미는, 위에서 말한 근거에 의해, 계속 한 팀이 끝까지 이기는 상황이라고 판단해서, 48 , 0과 b1 & 2차를 더해줬습니다.flag로 두 케이스 다 연산하지 않도록 막아뒀습니다.~86 line : 음의 초 맞춰줬습니다~ : 포멧팅입니다.
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
40번 교집합 문제
선생님, 제가 이 방법으로 처음에 풀었었는데 알고리즘 상으로는 1초안에 들어오는 방법인가요?? 맞다면 c배열의 범위를 어떻게 지정해야되는지 잘 모르겠어서 질문드립니다!(stdio.h랑 vector는 위에서 선언했습니다)
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
코드확인 부탁드립니다!!
강의에 있는 정답과는 다르게 코딩해 봤습니다!예제는 성공하는데 채점하면 틀렸다고해서 질문드립니다!! http://boj.kr/3de8796818e041b58fe799e4a68bd157
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-J 평범한 배낭 질문 있습니다.
안녕하세요 7-J 재귀로 탑다운 풀다가 질문이 있어 글 쓰게 되었습니다. http://boj.kr/b1b57db76aa446ccba0182d3165397cc 제가 짠 코드인데 이렇게 코드를 짜면 같은 물건이 여러번 담겨서 오답이 나온다는 것은 알겠습니다.같은 물건이 여러번 안담기고 재귀로 코드를 짤려면 어떤식으로 짜야 될까요??
-
해결됨SQL 코딩테스트를 위한 첫 걸음
sql 코딩 테스트에서 index 생성 가능 여부
안녕하세요, 강의 감사합니다. leetcode 나 다른 코딩 테스트 플랫폼에서 응답시간을 짧게 하기 위해 create index 를 사용하는걸 지원하나요? 현재 leetcode 에서 create index 쪽이 계속 syntax error 가 나길래 혹시 막아둔건지 궁금합니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
[재질문] 16234 로직에 관해 질문 있습니다.
http://boj.kr/d75e58120f9c409686476126131449b8 우선 설명해주신 로직은 dfs와 인구이동을 한버에 하시는 것 같습니다.제 로직은while(true) 연합생성 연합생성이 않되면 break; 연합이 생성되면 인구 이동입니다.처음에 시도했을 때, 시간초과가 나서, BFS,DFS 모두 구현해보았는데, 어느 부분에서 더 줄일 수 있는 지 궁금합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
M1 brew 설치
안녕하세요 큰돌님 프로그램 설치관련 질문드립니다ㅠbrew 설치 중에 이 부분에서 계속 막히는데 도움 주시면 감사하겠습니다ㅠ
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
추가로 공부하면 좋은 알고리즘 관련
안녕하세여! 추가로 공부하면 좋은 알고리즘 비트-마스킹, 위상 정렬 등은 말씀주신 기준에 따르면 코테가 어려운 대기업에 붙으려면 해야하는 사항일까요?? 추가로 공부하면 좋은 알고리즘 관련해서 혹시 백준에서 어떤 문제들을 풀면 좋을지 추천 문제 리스트만이라도 노션에 올려주실 수 있으실까요..? 🙇🏻♂️
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
코드 리뷰 부탁드립니다
이 코드 예외 사항 없을까요?const solution = (str) => { let answer = 'YES' let arr = [str[0]] for (let i = 1; i < str.length; i++) { if (str[i] === arr[arr.length - 1] || arr.length === 0) { arr.push(str[i]) } else { arr.pop() } } if (arr.length !== 0) answer = 'NO' return answer } console.log(solution('()))'))
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-B 질문
2-B 질문코드를 작성하고 정답 코드도 비교해보고 했는데 같은 것 같은데 왜 틀렸다고 뜨는지 잘 모르겠습니다. 2-Bhttps://www.acmicpc.net/source/82329714
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-M 12100 2048 (easy) 질문
안녕하세요 큰돌님 강의 잘 듣고 있습니다! 다름이 아니라 구조체로 하지 않고 할 수 있을 것 같아서 다음과 같이 했는데 주석에 있는 반례에 직면하게 되어 왜 이러한 잘못된 결과가 나오는 지 궁금합니다. #include<iostream> #include<algorithm> #include<string.h> #include<vector> #include<map> #include<queue> #include<math.h> #include<stack> using namespace std; int N; int sum = 0; void print(int board[41][41]) { for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { cout << board[i][j] << " "; } cout << "\n"; } cout << "\n"; } void rotate(int board[41][41]) { int temp[41][41] = { 0 }; for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { temp[i][j] = board[N - 1 - j][i]; } } memcpy(board, temp, sizeof(temp)); } void slide(int board[41][41]) { int temp[41][41] = { 0 }; for (int i = 0; i < N; i++) { int cnt = 0; for (int j = 0; j < N; j++) { if (board[i][j] == 0) continue; if (cnt == 0) { temp[i][cnt] = board[i][j]; cnt++; } else { if (temp[i][cnt - 1] == board[i][j]) { temp[i][cnt - 1] = board[i][j] * 2; } else { temp[i][cnt] = board[i][j]; cnt++; } } } } memcpy(board, temp, sizeof(temp)); } void counting(int board[41][41]) { for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { sum = max(sum, board[i][j]); } } } void game(int here, int board[41][41]) { if (here == 5) { counting(board); //print(board); return; } for (int i = 0; i < 4; i++) { int cpy[41][41] = { 0 }; memcpy(cpy, board, sizeof(cpy)); slide(cpy); game(here + 1, cpy); rotate(board); } return; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int board[41][41] = { 0 }; cin >> N; for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { cin >> board[i][j]; } } game(0, board); cout << sum; } /* 4 2 4 16 8 8 4 0 0 16 8 2 0 2 8 2 0 답 32 */
-
해결됨[자바/Java] 문과생도 이해하는 DFS 알고리즘! - 입문편
graph 만들때 boolean[][] 으로 만드는 경우랑 int[][] 나 ArrayList<Integer>[] 로 만드는 기준이 어떻게 되나요?
강의 영상마다 질문이 있으면 언제든 그리고 바로 질문 남겨주세요! 질문할 때 가장 정확하게 이해할 수 있습니다.해당 영상과 관련된 질문들을 해주실 때 제가 가장 정확히 답변 드릴 수 있습니다!취업 전반의 상담이나, "제 코드가 왜 틀렸는지 알려주세요"와 같이 광범위한 질문은, 질문자의 상황에 따라 답변이 달라질 수 있기 때문에, 정확한 답변을 드리기가 어렵습니다 :(이런 분들을 위해서는 멘토링 항목으로 별도 제공하고 있으니, 다음 링크를 참고해주세요!이 링크를 통해서는 본인의 코드가 왜 틀렸는지 모를 때 질문을 주셔도 좋고, 취업 전반(면접 준비, 자소서, CS 면접 등)에 관련한 질문을 주시면 답변 드리겠습니다 :)"이 질문은 해도 되나?"라는 생각이 드신다면 우선 남겨주세요! 제가 답변 드리기 어려운 건 멘토링에 올려 달라고 재요청 드리겠습니다 🙂 graph 만들때 boolean[][] 으로 만드는 경우랑 int[][] 나 ArrayList<Integer>[] 로 만드는 기준이 어떻게 되나요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-E 질문있습니다! 무엇이 문제일까요??
큰돌님 안녕하세요.강의 정말 재밌게 잘 시청하며 공부하고있습니다.👍2-E 문제를 위의 코드로 시도를 하고 있습니다.계속 처음부터 틀렸다는 답이 나와서 질문드립니다. 문제의 반례로 정답을 확인했음에도 틀렸다고나오고, 문제의 질문게시판의 여러 반례를 확인했는데도 틀렸다고 나옵니다.출력 String사이에 다른 char가 있을까봐 저의 출력용 전역변수인 _ret 의 내부 값들을 하나하나 확인했는데도 실제 정답과 동일함을 확인했습니다. 무엇이 문제일까요.. ㅠㅠ그리고 제가 무언가 잘못집고있다면 강의교안에서 어떤것을 봐야할까요..? (정답과 강의를 보기전에 문제를 풀어보느라 코드가 매우 지저분한점 양해부탁드립니다...)문제 URL: 1992번: 쿼드트리 (acmicpc.net)코드 URL: http://boj.kr/b720b19e7fde44a093809570d702a3c9참고한 TestCase- 문제에서 제공하는 기본 TestCase- 글 읽기 - 반례공유 (acmicpc.net)- 글 읽기 - << 테스트 케이스 공유 >> (acmicpc.net)- 글 읽기 - [1992번] 틀린 부분, 반례 부탁드립니다ㅠㅠ (acmicpc.net)
-
해결됨코딩테스트 [ ALL IN ONE ]
unique paths 코드 시간복잡도에 관련해서 궁금한 것이 있습니다.
우선 강사님께서 풀어주신 top-down 코드는 다음과 같습니다.class Solution(object): def uniquePaths(self, m, n): memo = {} def dfs(r, c): if (r, c) == (0, 0): # 출발점에 도달한 경우 return 1 if (r, c) not in memo: # 메모이제이션에 값이 없는 경우 계산 paths = 0 if r - 1 >= 0: # 위쪽 셀에서 오는 경우 paths += dfs(r - 1, c) if c - 1 >= 0: # 왼쪽 셀에서 오는 경우 paths += dfs(r, c - 1) memo[(r, c)] = paths # 결과 저장 return memo[(r, c)] # 결과 반환 return dfs(m - 1, n - 1)이 코드는 grid에 해당하는 함수만 호출하고, 중복되는 호출은 memo에 저장하기 때문에 총 O(M*N)이 됩니다. 다음은, 디스코드의 다른 사람이 올려주신 코드를 참고해서 조합론을 적용한 코드입니다.class Solution(object): def uniquePaths(self, m, n): memo = {} def fact(x): if x <= 1: return 1 if x not in memo: memo[x] = fact(x - 1) * x # factorial의 결과값을 메모리에 저장 return memo[x] return fact(m + n - 2) / (fact(m - 1) * fact(n - 1)) # fact(m + n - 2) 부분만 호출하고, 분모는 캐싱하므로 시간복잡도는 O(M+N)분자에 해당하는 부분만 함수를 호출하기 때문에 시간복잡도는 O(M+N)이 됩니다. 우선 제가 궁금한 것은 2가지입니다.1) 위의 두 코드를 비교했을 때, 수학적으로 접근한 코드가 시간복잡도가 더 낮은데요 항상 dfs, bfs를 먼저 쓰는게 좋은 것은 아닌가요?2) 강의에서는 조합론을 이용한 방법이 198C99 = 약 2*10^58이여서 완전탐색은 안된다고 하셨는데, 실제로 제출했을 때는 제출이 됬습니다. 왜 이런 차이가 발생한건가요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
조합->이분탐색
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 조합이 아닌 이분탐색처럼 풀이해보게 되었는데요 이 경우가 배열을 앞뒤로 한 번만 읽으면 되니까 O(n)으로 시간복잡도 차원에서 더 효율적인지 궁금합니다.#include <bits/stdc++.h> using namespace std; //1940 - 주몽 int n,m,input,cnt; vector<int> v; int main(){ ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL); cin>>n>>m; for(int i=0;i<n;i++){ cin>>input; v.push_back(input); } sort(v.begin(),v.end()); int left =0, right = n-1; while(left<right){ int sum=v[left]+v[right]; if(sum==m){ cnt++; left++; right--; } else if(sum<m) left++; else right--; } cout<<cnt<<'\n'; return 0; }ㅇ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-Q 질문있습니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 큰돌님거의 모든 반례를 넣어봤는데 다 성공했어요. 근데 막상 제출하면 틀렸다고 뜨는데 왜그러는지 잘 모르겠네요 ㅜㅜ반례주시면 감사하겠습니다!http://boj.kr/9ec2d67f80014168b8c8ba09a5c8e8e2