묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
multiset
안녕하세요. 좋은 강의 잘 보고 있습니다.다름이 아니라 교안 공부 중에 multiset의 존재 이유가 궁금해서 그러는데 중복을 허용하면 multiset이 필요한 이유가 있을까요?혹시 예시를 알 수 있을까요?!
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2870 재질문입니다.
2870 반례부탁드립니다. - 인프런 (inflearn.com)재질문입니다. 제시해주신 비교함수로 하니 성공을 했습니다. 그런데 제 로직은 어디서 잘못되었나요?제가 이해하기로제시해주신 로직은size가 다르다면, 그 크기에 대해서 참 거짓 판별size가 같다면, a와 b의 모든 자리수를 비교하여, 참 거짓 판별인것 같습니다.제 로직또한 비슷한 로직 같습니다...어디서 잘못되었을까요?
-
미해결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++ 코딩테스트 | 알고리즘 코딩테스트
1-i터미널 출력 오류
http://boj.kr/8c16deca7aff40bf8ebcac1951088706코드는 이렇게 작성했습니다.vscode에서 입력을 복사해서 실행해보면이런식으로 kakuna가 짤려서 나오고 중간에 피카츄가 들어가버립니다.. 틀린줄 알고 한참 고민했는데 백준에 제출하면 정답이라고 뜨네요.. 설정이 잘못된걸까요??
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-J 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.http://boj.kr/b8d40cd1c6794ac0adc55bc9ef2d56f8안녕하세요. 강의 기반으로 2차원 배열로 문제를 풀어봤는데 어떤 오류가 있는지 궁금합니다!
-
해결됨김영한의 실전 자바 - 중급 2편
hashSet에서 hashCode 메서드를 만들 때 질문이 있습니다.
해당 강의에서 강사님꼐서 IDE를 통해 만드신 hashCode() 오버라이드 메서드는 Object.hash() 함수를 사용했는데요.저도 똑같이 IDE를 통해서 만들었는데, Object.hashCode() 라는 다른 메서드를 사용해서 만들어 주더라고요.둘 다 실험해보니까 잘 작동하긴 했는데, 두 메서드의 차이점이 무엇인가요?왜 강사님이 하실때는 hash() 메서드가 뜨고 제가 할 때는 hashCode() 메서드를 이용해서 만들어 줄까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
공부방법에 대해서 질문이 있습니다.
문제풀이를 듣기 전에 최대 1시간 제한을 정해두고 그 안에 못 풀면 강의를 듣고 시간 안에 풀면 바로 강의 듣고 넘어가고 못풀었던 문제들만 복습해보면서 풀면 될까요?대기업 꼭 가고 싶습니다!
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
다른 방법 풀이 질문
아래와 같이 StringBulder 와 paserInt 를 활용해서 풀어보았는데요.통과는 되는데.. 이슈는 없을까요?? public ArrayList<Integer> solution(int n, int[] arr){ ArrayList<Integer> answer = new ArrayList<>(); for(int i=0; i<n; i++){ StringBuilder sb = new StringBuilder(); sb.append(arr[i]); String tmpStr = sb.reverse().toString(); int tmpInt = Integer.parseInt(sb.toString()); if(isPrime(tmpInt)) { answer.add(tmpInt); } } return answer; }
-
미해결김영한의 실전 자바 - 중급 2편
정렬-1 강의에 대한 질문이 있습니다.
static class AscComparator implements Comparator<Integer>{ @Override public int compare(Integer o1, Integer o2) { System.out.println("o1=" + o1 +" o2=" + o2); return (o1 < o2) ? -1 : ((o1==o2) ? 0 :1); } }위 메서드에 대하여 질문을 드립니다.Integer[] arr = {3,2,1}을 설정하였고Arrays.sort(arr , new AscComparator());기존 배열을 정렬하는데 제시된 기준으로 정렬을 할 것이라는 것까지는 이해하였습니다.해당 메서드의 경우 o1 & o2에 대한 값을 먼저 출력을 한다음 서로 값 비교를 하는데왜 o1에는 3이 아니라 2가 출력이 되고 o2에는 3이 출력되는지 궁금합니다.
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
DFS와 백트래킹을 공부하고 싶은데 몇 번 강의를 들으면 좋을까요?
안녕하세요. 강의 잘 듣고 있습니다. 처음부터 차례로 들어도 좋지만, 제가 필요한 부분을 우선적으로 듣고 있는 수강생인데요.백트래킹 알고리즘에 대해 언급하시는 부분이 있을까요?해당 섹션과 강의제목 알려주시면 감사하겠습니다.
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
학습 방법에 대해서 조금 질문이 있어요!
안녕하세요.강의를 구매하고 재밋게 보고 있는데요지금 재귀함수 이해하기 시리즈 3편을 다 보았는데요질문은 제가 지금 학습하고 공부하는 방법이 맞나요?엇나가고 있는거라면 조언 해주시면 감사드려요 ㅠㅠ강의를 보기전 직접 문제를 풀어보기내 코드랑 강의를 보면서 코드 이해하기강의와 노션을 완독 한 후에 풀이 코드 방식을 학습하고 해당 방식을 풀이 1번 2번 3번 대로 직접 푸는 연습하기아무래도 파이썬 처음이다보니 익숙하지 않아서 문법을 조금 찾아보면서 하고 있긴 합니다. 예를들어 arr = [-1] * (n +2)아래와 같은 코드가 살짝 이해가 안되었는데출력 해보니까 js로 작성해보자면const n = 10; const array = Array.from({ length: n + 2 }).fill(-1);이런 코드인것 같더라요.결론적으로는 1,2,3번 방식으로 공부하고 있으면서 파이썬 문법은 중간중간 제공해주신 파이썬 Notion이나 구글링을 통해서 학습 하면서 문제 풀이 방식들을 안보고도 풀 수 있을때까지 반복 숙달하고 있는데 이렇게 학습 하면 될까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2870 반례부탁드립니다.
우선 제 로직은,input string을 0번 index부터 확인해서, 문자이면 넘어가고, 숫자이면,find_number()함수로, 이후 연속된 숫자를 찾아,delete_zero()함수로, 해당 숫자(found_number)의 0을 삭제합니다. 이후,bigStringIntCompare()함수로, sort()하여, 출력합니다.백준에 질문 게시판의 모든 반례를 검사해보았는데, 전부 통과했는데, 틀렸다고 합니다.반례부탁드립니다.#include <bits/stdc++.h> using namespace std; int N; string find_number(string str){ string ret; for(int i=0;i<str.size();i++){ if(isdigit(str.c_str()[i])) ret+=str.c_str()[i]; else break; } return ret; } string delete_zero(string str){ int how_many_delete_zero=0; for(how_many_delete_zero=0;how_many_delete_zero<str.size();how_many_delete_zero++){ if(str.c_str()[how_many_delete_zero]!='0') break; } if(how_many_delete_zero==str.size()) return "0"; return &str.c_str()[how_many_delete_zero]; } bool bigStringIntCompare(string a,string b){ if(a.size()<b.size()) return true; else if(a.size()>b.size()) return false; else{ for(int i=0;i<a.size();i++){ if(a.c_str()[i]>b.c_str()[i]) return false; } return true; } } int main(){ cin>>N; // vector<int> ret; vector<string> ret; while(N-->0){ string input; cin>>input; for(int i=0;i<input.size();i++){ if(isdigit(input.c_str()[i])){ string found_number=find_number(&input.c_str()[i]); // printf("found number : %s\n",found_number.c_str()); // ret.push_back(atoi(found_number.c_str())); string ret_number=delete_zero(found_number.c_str()); // printf("ret_number : %s\n",ret_number); ret.push_back(ret_number); i+=found_number.size()-1; } } } sort(ret.begin(),ret.end(),bigStringIntCompare); // for(int i=0;i<ret.size();i++) printf("%d\n",ret[i]); for(int i=0;i<ret.size();i++) printf("%s\n",ret[i].c_str()); return 0; }
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3 - G 질문
http://boj.kr/18c230a9615a4114af7dcbe7a5d3dee7안녕하세요 선생님 제가 코드를 짜보았을때 제 생각은visited[here] + 1 이 visited[there] 보다 작은경우 visited[there]값을 리셋해야된다고(visited[here] + 1로) 생각했습니다.선생님께서는 그러한 방식으로 코드를 짜지 않으셔서 그 이유가 뭔지 궁금합니다
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
채점사이트 이동이 안되는 것 같아요
채점사이트 버튼을 눌렀더니 다음과 같은 에러가 떴습니다...{ "error": "error", "data": "'QIZaE6XYaGb4j7D5a05NC'" }
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
아래 질문 추가
현재 강의로 예를들면, 아래와 같이 실제 구현해야하는 비지니스로직을 제외한 코드입니다.import java.util.*; class Main { public int solution(int n, int[] arr){ int answer=1; return answer; } public static void main(String[] args){ Main T = new Main(); Scanner kb = new Scanner(System.in); int n=kb.nextInt(); int[] arr=new int[n]; for(int i=0; i<n; i++){ arr[i]=kb.nextInt(); } System.out.print(T.solution(n, arr)); } }
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
정답이 아닌 기본 구조만 잡힌 코드만 나와있는 자료는 없나요?
초기 코드만 나와있는.. main 함수 전체 및 solution 의 기본 구조(파라미터 정도)만 잡혀있는 자료는 없을까요?프로그래머스와 동일하게 solution 함수를 보고 채우는 방식이면 좋을 것 같아서요.첨부된 강의자료는 정답이 전부 나와있어서요.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-G 질문입니다.
http://boj.kr/ffd2efb190a74fd4874666aed051a59b안녕하세요 선생님.나름대로 반례처리까지 다 했다 생각하는데 런타임 에러가 발생합니다.예제는 통과하는데 어떤 점이 문제인지 잘 모르겠습니다 ㅜ
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
강의 구매 했습니다.
강의 구매 해보았습니다. 열심히 달려 볼게요 🏃♂그나저나 파이썬 해볼 생각 하니까 벌써부터 두근두근 되는데요? ㅎㅎ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-O 맞왜틀 질문드립니다.
http://boj.kr/d7325e4e28e746d2b5be617cc3c6b18e스택을 사용해서 풀었고 예제도 다 맞는데4%에서 틀렸습니다가 나와서 충격이었습니다.. 어느부분이 틀린건지 알고싶습니다.
-
미해결입문자를 위한 코딩테스트 핵심(이론과 문제풀이) [Python]
백준 사용 시 채점 언어
백준에서 정답코드를 그대로 붙여넣었는데도 불구하고 시간초과가 나서, 채점언어를 python3에서 pypy3로 바꿨더니 정답이 되었습니다.. 혹시 왜 그럴까요? 그리고 어떤 점이 다른가요?