묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 자바 - 중급 2편
comparable, comparator
얼핏 봤을때에는 comparable 과 comparator 차이가 크게 없어 보이는데, 만약 String ID 알파벳 순이라 아니라String Id 의 length 순으로 정렬해서 배열을 만들고 싶다고 했을때에는 comparable 은 기본적인 자연적인 배열 순서로 정의를 해주기 때문에 comparator 를 쓰는게 올바른 것인가요 ?
-
미해결김영한의 실전 자바 - 중급 2편
comparable, comparator
강의를 보면 ID 를 통한 Array 배열을 정렬할때IdComparator 를 만드셨는데, 사실 comparable 에서도 충분히 정의할 수 있는 것 아닌가요 ?단순히 Comparator 를 통해서도 할 수 있다라는 것을 보여주기 위함인가요 ?또한 언제 comparable 을 쓰는 게 낫고 언제 comparator 를 쓰는게 나은가요 ?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
14002번 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.https://www.acmicpc.net/source/8287773914002번 문제를 nlogn 시간에 풀기 위해서 큰돌쌤께서 알려주신 lower_bound로 풀어봤는데 틀렸다고 나옵니다. 이 방법은 trace는 할 순 없지만 문제에선 수열이 여러가지인 경우 아무거나 출력해도 상관없다고 해서 이 방법으로 하면 정상적으로 되야하는거 아닌가요...? 제가 이해를 잘 못한건지 어디 부분이 틀렸는지 잘 모르겠습니다
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
안녕하세요. 파트 소개 글을 보다가 브루트 포스와 구현 문제에 대해
참고로, 단순 구현 문제와 브루트 포스 관련 문제만 잘 풀어도 어렵지 않은 코딩테스트는 합격을 노려볼만합니다. 해당 내용이 언급 되어 있던데, 이부분은제 코테 전략은 아래와 같습니다.백준 브루트포스 알고리즘별 문제모음https://www.acmicpc.net/problemset?sort=ac_desc&algo=125 백준 시물레이션(구현) 알고리즘별 문제모음https://www.acmicpc.net/problemset?sort=ac_desc&algo=141 알고리즘별 문제 모음으로브루트 포스 : 100문제시물레이션 : 100문제각각 100문제 정도 풀어보고해당 강의에 있는 문제들을 완전 이해와 학습 복습을 하는것인데 이정도면 스타트업 코딩테스트 정도 노려볼만한가요?
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
16번 문제에서 직접 답을 대입하면 정답이 나오는데 채점에서 wrong answer가 나옵니다.
#include <iostream> #include <string> using namespace std; string solution() { int cAlph[26] = { 0 }; int sAlph[26] = { 0 }; string str1, str2; cin >> str1 >> str2; if (str1.length() != str2.length()) return "NO"; int len = str1.length(); for (int i = 0; i < len; i++) { if (isupper(str1[i])) cAlph[str1[i] - 'A']++; else sAlph[str1[i] - 'a']++; if (isupper(str2[i])) cAlph[str2[i] - 'A']--; else sAlph[str2[i] - 'a']--; } for (int i = 0; i < 26; i++) { if (cAlph[i] != 0 || sAlph[i] != 0) return "NO"; } return "Yes"; } int main() { cout << solution() << endl; return 0; } Case #01 : SuccessCase #02 : SuccessCase #03 : Wrong_answerCase #04 : SuccessCase #05 : Wrong_answer점수 결과 : 60 도대체 모르겠습니다.. 직접 다 예시 대입 해봤을 때는 정답으로 되는데 채점을 돌리면 왜 틀렸다고 나오는지 모르겠습니다ㅜㅜ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
0주차 [필수강의] split 함수 수업자료 다운로드 관련 문의
0주차 [필수강의] split 함수 질문 있습니다 해당 강의를 모바일에서보면수업자료아이콘이 나타나있습니다 C++알고리즘 교안 처럼 파일만 있는게 아니라 동영상과 함께있어 다운로드 하지못하는건지 모바일에서도 pc에서도 수업자료를 받을 수 없어서 질문드립니다 해당 수업자료 아이콘은 따로 파일이 첨부되어있다는 표시일까요?맞다면 어떻게 다운로드 할 수있는지 문의드립니다
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-W 2342 질문있습니다.
http://boj.kr/d480df7fada948b4a9ace782c2532e66 선생님과 비슷한 코드를 작성한거 같은데 답이 안 나오는 이유를 잘모르겠습니다... 그리고 이 문제의 경우 최솟값을 찾는 경우이므로 dp배열을 답이 될 수 없는 가장 큰 수로 초기화를 하지 않는 이유가 궁금합니다!
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
이전 강의와 수업 자료가 동일한 것 같습니다.
두 강의가 다 알고리즘_문제해설 pdf 파일이라 (각 8/21, 8/16일 자) 알고리즘 교안pdf 파일이 제대로 업로드가 되지 않은 것 같습니다. 확인 부탁드립니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-I, 결과값에 대한 질문입니다
visited[turn % 2][nx] = visited[(turn + 1) % 2][x] + 1; 이렇게 해주는 부분이 있는데, 결과는 turn 을 출력하는게 조금 헷갈립니다실제로 확인해보니 turn 과 visited[turn%2][k]-1 이 서로 값이 다르기도 하구요혹시 이유를 알 수 있을까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-I 질문 있습니다.
저의 처음 접근방식은 아래와 같았습니다.공간 복잡도를 줄여야 하기 때문에 2차원 배열로 모든 것을 나타낼 수는 없다.동생의 위치는 점화식으로 표현할 수 있다. Bro(t) = Bro(t - 1) + t 0에서 출발해도 1000초 뒤면 500500에 도착하므로 배열의 크기는 1000이면 충분하다.수빈이가 특정 좌표에 도착한 시간을 기록해두고, 이 시간을 이용해 동생의 위치와 비교한다면 찾아낼 수 있지 않을까?그러나 이는 틀렸고, 강사님의 강의를 보고 수빈이가 먼저 도착한 경우를 빼먹었다는 걸 알았습니다. 그리고 이를 보완해 아래와 같은 코드를 작성하였습니다.http://boj.kr/9ca6697bc05c4e72b0e9a7cf5ef1a703하지만 여전히 틀렸더군요. 강사님의 강의를 마저 보고 풀긴 했습니다만, 제가 위 코드에서 빼먹은 부분이 무엇인지 감이 잡히지 않아 질문 드립니다. 🙏
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-A 질문 있습니다.
저도 min함수를 떠올려서 비교하기위해서는 result를 적당한 값으로 초기화를 해놔야된다고 생각하였는데 강사님께서는 987654321으로 초기화를 해두었던데 그렇게 하신 이유가 있으실까요?제가 문제를 풀다보니 초기값을 잘못 고르면 마이너스 값으로 출력되어버릴때도 있던데 어떻게 초기값 기준을 잡으면 되는지 잘 감이 잡히지 않습니다. 명확하게 딱 떨어지는 값도 이 문제에서는 없어 보이고요..
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-G 와 백준 컴파일러에 대한 질문이 있습니다
https://www.acmicpc.net/source/82778585해당 풀이를 통해 정답을 맞혔는데요몇 가지 조건에 따라 오답과 정답이 나뉘는 현상이 있어서 이와 관련하여 강사님 의견을 여쭙고 싶습니다const int MAX 를 선언할 때 정수 크기에 따라 백준에 입력했을 때 결과가 다르게 나옵니다크게 차이나게 입력한 것은 아니고요200,000 이랑 200,002 를 입력해봤는데 200,002 은 정답이고, 200,000 은 오답으로 나오네요그리고 int n, k; 와 int visited[MAX], cnt[MAX]; 이 두 라인을 서로 변경했을 시 또 결과가 다르게 나옵니다int n, k; 를 나중에 선언해야 정답으로 나오더라구요그런데 int n, k; 를 먼저 선언해도 되는 경우가 있습니다int visited[MAX], cnt[MAX]; 이 부분에 MAX 뒤에 정수를 더해주면 int n, k; 를 먼저 선언해도 되었습니다아무리 고민해도 짐작 가는 부분이 없는데 강사님의 의견을 듣고 싶습니다
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-Q 질문있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.go 함수에서 계속 탐색을 하다가 처음으로 1을 만나면 그 좌표를 넣고 멈추게 되면 가장자리에 있는 모든 1의 좌표가 v에 담기는게 아니라 그냥 처음으로 만난 좌표 1개만 v에 담기게 되는거 아닌가요? 어떻게 go 함수가 지울 모든 치즈 좌표가 담기게 되는지 이해가 안 됩니다..ㅜ
-
미해결김영한의 실전 자바 - 중급 2편
강의 질문
안녕하세요. 김영한 선생님 모든 강의중에서 재귀함수에 대해서 다뤄주시는 곳이 있을까요 ?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
16234 질문입니다!
16234번 테스트 케이스는 다 맞는데, 채점시에는 % 조금넘어가다가 바로 틀리는데, 어디가 틀렸는지 도저히 모르겠어서 질문드립니다. http://boj.kr/741c9846e8eb45d59f29b0a85fa3cfe9 그리고 선생님 풀이코드를 봤는데, 전역스코프에있는 벡터 v사용하시는데 dfs 파라미터에 넣으신 이유가 있을까요?? 이 질문을 드린게 함수 파라미터에서 '&'를 이용한 참조에 의한 전달을 하는 방식은 함수 파라미터에 해당 자료구조를 명시하지 않아도 상위 스코프를 순차적으로 순회하면서 동일한 이름의 자료구조를 발견하면 알아서 참조해서 사용한다고 알고있어서 그랬습니다.만약 값 전달이 목적이라면 (전역단에 빈 자료구조 'ds'생성)ds ds;func (param1, param2, ds) {~~}int main() { while (1) func(~~); ~~}이런식으로 함수를 정의하면 반복되는 로직에서 func를 부를 때 ds를 비워주는(fill, memset, clear, ...) 로직을 수행하지 않고 코드를 작성할 수 있을것 같은데, 이렇게 매번 빈 자료구조를 사용하는 로직에서는 값전달방식이 나을까요 아니면 그냥 무조건 참조 + flush가 나을까요?
-
미해결김영한의 실전 자바 - 중급 2편
hashCode 결과로 음수가 나올 수 있게 해놓은 이유?
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강의 내용에서 hashCode 결과로 음수 값이 나올 수 있으므로 절대값으로 변환하는 과정을 가졌는데요, 자바에서는 왜 음수 값이 나올 수 있게 해놓은 건가요? 인덱스로 사용하는 용도 외에 다른 용도가 있나요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-S 재질문 드립니다 :)
안녕하세요 선생님 🙂이전에 풀었던 문제들을 전부 다시 풀어보는 중입니다. 다시 풀어보니 이전에는 안보였던 부분들이 보이기 시작하더라구요.2가지 질문이 있습니다. http://boj.kr/2560aa9844964379b8e8c4b30e917888 위의 풀이는 visited배열을 사용하지 않고 풀이한 방법입니다. 1부터 5까지 놓여있는 테스트케이스만 놓고 생각해보면 visited배열로 방문처리를 안하더라도 겹치는 인덱스가 없습니다. 따라서 방문처리를 안하는 것이 오히려 낫다라는 생각을 했는데요, 시간초과가 되었습니다. 이유가 무엇인지 모르겠어서 질문 드립니다. http://boj.kr/10e79d578a2c4aefbfd07995bdb94025 위의 풀이는 temp배열을 사용하지 않고 풀이한 방법입니다. temp배열을 선언하지 않고 그 자리에 DFS(i)를 넣어도 결과는 같을 것이라고 생각했지만, for문에서 DFS(i)를 출력하면 1번 인덱스부터 N번 인덱스까지 전부 1이 나오더라구요. 아무리 생각해도 이해가 되지가 않습니다.조언 부탁드립니다..!!
-
해결됨코딩테스트 [ ALL IN ONE ]
노션 링크 공유를 못 받았습니다
vvoohhee@gmail.com위의 메일 주소로 2번이나 신청했는데 노션을 공유 받지 못했습니다. 노션에 로그인 되어있는 이메일도 위의 이메일과 같은데 한 번 확인 부탁드립니다...
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-L 문제 예외처리 질문있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강의에 예외처리로 0 을 출력하도록 되어 있는데 출력문 대신 return 0; 으로 해도 상관없는지 궁금합니다!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-B질문 드립니다
http://boj.kr/1768eef2fba64e16bc9bbbca272a7caa 우선 모든 경우의수가 2*N이니 1~2^2*N까지 반복시킨후에각 경우의수마다 어떤 행과 열을 뒤집을지 고르는 방식으로 진행했습니다. 이게 경우의수가 너무 커서 틀린거지 로직은 맞을까요??아니면 로직도 바꿔야할지 궁금합니다.