묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 자바 - 중급 2편
List인터페이스를 sout 할때 질문입니다.
링크드리스트의 list를 그냥 System.out.println(list); 했을때, 아래의 내용이 맞는지 궁금합니다. LinkedList의 toString 메서드는 AbstractCollection 클래스에서 오버라이딩된 toString 메서드를 상속받아 사용합니다.
-
미해결김영한의 실전 자바 - 중급 2편
TreeSet으로 자동 변환
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================Set 정리 14:58에서데이터 개수가 8개 이상이 되면 TreeSet으로 바꿔서 equals를 수행한다는 말씀은,HashSet, LinkedListSet으로 선언하여도 자바가 탐색 시에만 자동으로 변경한다는 말인가요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3 - k 시간초과
http://boj.kr/5fc8cc89f6834d188f39c1d3b3e98426안녕하세요 선생님 제가 짠 코드가 계속 시간초과가 나와서 방법을 찾지 못하겠습니다. 도와주시면 감사하겠습니다!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
입력값이 해당 경우일때는 왜 YES가 나오는지 궁금합니다.
안녕하세요 선생님 질문이 있습니다.())(() 이 경우는 NO가 나오는데 ((())()) 이 경우는 YES가 나옵니다.문제에서 요구하는 것이 괄호의 갯수가 짝이 맞는것 인지를 파악하는게 아니라 '()' 해당 모양이 만들어 지는지를 묻는 문제 인가요?
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
String.valueOf(CNT)
3:03초보면 앞뒤 문자가 다르면 answer에 해당 i값을 추가하고 나서 cnt를 1로 초기화하는데 왜 소스코드에는 cnt>1이상인 경우를 추가해서 ans+=String.valueOf(cnt)를 해주는 건가요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
시간복잡도와 연산량의 관계 질문
안녕하세요 강사님.늘 강의 잘 듣고 있습니다.시간복잡도와 연산량의 관계를 질문 드리고 싶습니다.크기 N인 입력에 대해 코드의 연산량이 2n^2 + 3n 일때,빅O 표기법으로 시간복잡도를 표현하면 O(n^2)입니다.그런데, 실제로 해당 연산량이 주어진 시간에 통과하는지 판단할 때는 최고차항의 계수도 고려해야하나요?예를 들어, 1초에 연산량이 1억이고, N이 10000이라면 빅O표기법의 n^2은 1억이어서 시간 안에 통과하지만, 2n^2은 1억을 넘어 시간 초과가 발생하니, 실제로 위의 코드는 시간을 초과하는 코드라고 봐야하나요? 감사합니다.
-
미해결김영한의 실전 자바 - 중급 2편
add 부분 코드 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]이 코드는 LinkedList<Integer> bucket = new LinkedList - > buket = bukets[hashIndex] 이렇게 이어지는 코드인건가요 ..? bukets이라는 linkedlist의 배열을 만들고 bukets 1 bukets 2 하나 하나에 linkedlist를 넣는 과정인건 알겠는데 저 buket은 어떻게 나온 코드인지 모르겠어요 ㅠㅠ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-L 시간복잡도 관련되어서 질문있습니다.
http://boj.kr/3b0abc4140db4fb99ac8425db2530f33저는 n의 최대값이 15000이기 때문에 15000*15000을 하면 2억이 넘어버려 시간 초과가 날것이라고 생각하여 저렇게 접근을 하였습니다.그런데 저렇게 더 간단하게 풀리는걸 보니 시간초과가 날 거 같더라도 일단은 먼저 간단한 방법으로 풀어본 뒤 시간초과가 나면 그때서야 다른 방법으로 접근을 하는 것이 맞을까요?
-
미해결김영한의 실전 자바 - 중급 2편
와일드카드
[질문 내용]package generic.test.ex5; import generic.animal.Animal; import generic.animal.Cat; import generic.animal.Dog; public class WildCardMain2 { public static void main(String[] args) { Box<Object> objBox = new Box<>(); Box<Animal> animalBox = new Box<>(); Box<Dog> dogBox = new Box<Dog>(); Box<Cat> catBox = new Box<Cat>(); //writeBox(objBox); writeBox(animalBox); Animal animal = animalBox.get(); System.out.println("animal = " + animal); } static void writeBox(Box<? extends Animal> box) { box.set(new Dog("멍멍이", 100)); } }package generic.test.ex5; public class Box<T> { private T value; public void set(T value) { this.value = value; } public T get() { return value; } }======질문 수정extends를 대입하면 Animal 이하의 개체(예: Cat, Dog)들이 전달 가능해지고, 이는 Dog를 담을 수 없기 때문에 컴파일 오류가 발생한다고 이해했습니다. 따라서 Super를 통해 이런 가능성을 차단합니다. 제가 이해한 것이 맞을까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-A질문 있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.http://boj.kr/841da1ae2ec74165b99aa019fa32659e예제 1 출력 마지막 단에 공백이 같이 출력되는 거 때문에 틀리는 거 같습니다. 그런데 왜 공백이 함께 출력되는지 이유를 모르겠습니다. 그리고 코드에서 수정해 주실만 한 사항 있으시면 알려주세요.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4949 반례부탁드립니다.(질문을 잘못하여 재질문입니다.)
우선 제 로직은 // stk이 비어있는 경우 // ch가 열린 괄호인 경우 // push(ch); // ch가 닫힌 괄호인 경우 // push(ch); break; // stk이 비어있지 않은 경우 // ch가 열린 괄호인 경우 // top()이 닫힌 괄호인 경우 && 형태가 다름 // top()이 닫힌 괄호인 경우 && 형태가 같음 // top()이 열린 괄호 && 형태가 다름 // top()이 열린 괄호 && 형태가 같음 // ==> 위의 4경우 모두 push(ch); // ch가 닫힌 괄호인 경우 // top()이 닫힌 괄호인 경우 && 형태가 다름 // top()이 닫힌 괄호인 경우 && 형태가 같음 // ==> 위의 2경우 모두 push(ch); // top()이 열린 괄호인 경우 // 형태가 다른 경우 // break; // 형태가 같은 경우 // pop(); // stk이 비어있는 경우 // yes // stk이 비어있지 않는 경우 // no입니다.#include <bits/stdc++.h> using namespace std; int main(){ string input; getline(cin,input); string ret; while(input!="."){ stack<char> stk; for(int i=0;i<input.size();i++){ char ch=input.c_str()[i]; if(ch!='('&&ch!=')'&&ch!='['&&ch!=']') continue; // stk이 비어있는 경우 if(stk.empty()){ // ch가 열린 괄호인 경우 if(ch=='('||ch=='['){ // push(ch); stk.push(ch); } // ch가 닫힌 괄호인 경우 else{ // push(ch); break; stk.push(ch); break; } } // stk이 비어있지 않은 경우 else{ // ch가 열린 괄호인 경우 if(ch=='('||ch=='['){ // top()이 닫힌 괄호인 경우 && 형태가 다름 // top()이 닫힌 괄호인 경우 && 형태가 같음 // top()이 열린 괄호 && 형태가 다름 // top()이 열린 괄호 && 형태가 같음 // ==> 위의 4경우 모두 push(ch); stk.push(ch); } // ch가 닫힌 괄호인 경우 else{ // top()이 닫힌 괄호인 경우 && 형태가 다름 // top()이 닫힌 괄호인 경우 && 형태가 같음 // ==> 위의 2경우 모두 push(ch); if(stk.top()==')'||stk.top()==']'){ stk.push(ch); } // top()이 열린 괄호인 경우 else{ // 형태가 다른 경우 if(stk.top()=='('&&ch==']'){ // break; break; } else{ // 형태가 같은 경우 // pop(); stk.pop(); } } } } } // stk이 비어있는 경우 if(stk.empty()){ // yes ret+="yes\n"; } // stk이 비어있지 않는 경우 else{ // no ret+="no\n"; } getline(cin,input); } printf("%s",ret.c_str()); return 0; }거의 대부분의 반례를 넣어도 통과가 됩니다. 어디서 잘못되었나요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
교안 사용법 질문드립니다.
강의 내용하고 교안이 내용이 겹치지 않은 것 같은데 혹시 강의들으면서 교안을 보는게 아니라교안은 따로 공부하고 강의도 따로 보는건가요?강의는 블로그를 보시면서 하시는 것 같아서 질문드립니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-I 추가 질문있습니다 :)
안녕하세요 선생님 🙂 선생님 풀이의 설계를 공부한 후에 구현을 해봤는데요, 이해가 되지 않는 부분이 하나있어서 질문 드립니다.int qSize = q.size()로 하신 후에 for문 안에 범위를 변수로 qSize로 해주셨는데요, 변수를 만들지 않고 for문안에 범위를 q.size()로 해도 같을거라 생각했지만 결과 값이 다르게 나옵니다. 이유가 뭔지 궁금합니다!!http://boj.kr/44da77cfb1f148c0b2a030fe592933e9
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-I 질문있습니다 :)
안녕하세요 선생님 🙂풀이를 보기 전에 먼저 문제를 풀어보았는데요, 이해가 되지 않는 부분이 있어서 질문 드립니다.http://boj.kr/2d9dfe630895448f98babd79cb13b63f기본적인 BFS에다 K의 값에 반복할수록 1씩 증가하는 cnt변수를 넣어줌으로써 경로의 횟수를 추적하려고 했는데요, 모든 경우에 K의 값이 50만이 넘어갑니다. 여기서 K의 값이 50만이 넘어가는 이유를 아무리 생각해도 모르겠어서 질문 드립니다.항상 감사합니다 ^^
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-E 공부 방향성 질문드립니다.
강사님의 강의를 열심히 따라가다가 갑자기 공부 방향에 대해 궁금증이 생겨 문의드립니다.아래는 제가 푼 4-E 코드입니다.https://www.acmicpc.net/source/81487412저 같은 경우는 예외를 따로 생각해두고, 예외 처리를 하며 경사로를 놓으며 건너는 로직을 작성하였는데요. 일단 정답은 맞았습니다. 그런데 이번 4-E 강의를 보고 굉장히 간결한 코드에 제가 문제 풀이를 잘못하고 있는지 의문이 들기 시작했습니다. 다른 문제들도 마찬가지로 강사님의 코드는 간결하고 빠르지만 코딩 테스트 공부를 접한지 얼마 안된 저에게는 오히려 이해도 어렵고, 문제 풀 때 이러한 아이디어가 아무리 고민해도 떠오르지가 않습니다. 실제 기업에서 보는 시간 제한이 있는 코딩 테스트를 준비하려면, 간결한 코드를 짤 수 있는 아이디어가 더 중요한가요?? 솔직히 저의 풀이는 직관적이지만 코드가 길고 실제 구현하는 시간도 오래걸립니다. 공부 방향에 대해 조언을 구하고 싶습니다..
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-H 질문있습니다.
http://boj.kr/f680e784e79b45839a545852be677db5이렇게 하면 왜 시간 초과가 나는지 궁금합니다. 온도의 합을 계산하는데 시간이 너무 많이 걸려서 그러는 걸까요?큰돌님이 풀어주신 누적합 사용하는 방법은 이해했습니다. 하지만 제가 원래 저렇게 풀었어서 저 방법은 왜 시간 초과가 나는지 궁금합니다!
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
Section 7-1) 최대점수 구하기(DFS)
선생님과 다른느낌으로 코드를 작성한것 같은데, 검사기는 오류없이 잘 돌아갔어요 이렇게 작성하면 틀린걸까요?? import syssys.stdin=open("input.txt","rt")input=sys.stdin.readlinen,m=map(int,input().split())a=[[0]*(n+1) for _ in range(n+1)]for i in range(m): x,y=map(int,input().split()) a[x][y]=1s=0b=[0]*(n+1)b[1]=1def DFS(L): global s if L==n: s=s+1 return for j in range(1,n+1): if a[L][j]==1 and b[j]==0: b[j]=1 DFS(j) b[j]=0DFS(1)print(s)
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-K 반례를 못찾겠습니다..
http://boj.kr/b4ac1fb3fb7749e9a8db5a18a89ddb9e맵에 알파벳 종류와 갯수를 넣고 홀수 갯수의 알파벳이 있을경우 홀수를 리스트에 먼저 넣고 나머지 알파벳을 리스트의 앞뒤로 넣어주는 식으로 구현했습니다.백준 테케는 다 통과하는데 반례를 못찾겠습니다..
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
cmp 하는 부분에 대해서 궁금합니다.
커스텀 비교함수 부분 교안을 다시 보았는데 이해가 가지 않아서 이렇게 질문 드립니다.매개변수로 넘겨주는 a, b는 v.begin(), v.end()의 값이 들어가는 것인가요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-O 질문있습니다!
http://boj.kr/f398698f0d8a46a59a9f1de55aff3402선생님과 비슷한 방법으로 vector접근해서 풀고 있는데 for (auto w = pos; w != v[status[i].y][status[i].x].end();w++) { v[ny][nx].push_back(*w); status[*w].y = ny; status[*w].x = nx; }여기서 자꾸 에러가 뜨는 이유가 궁금합니다!