묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
제 풀이와 답지 풀이가 다른 것에 대한 회고
제 풀이는 다음과 같습니다. 저는 h높이를 100까지 안가고 최대값까지만 고려하였고 ret 도 0으로 초기화하고 h--로 풀었습니다.http://boj.kr/2607607c3851456ea3ccd3544dc3044d이렇게 풀고 큰돌님 답지를 봤는데 높이에 대한 반복문 풀이가 달라서 이걸 어떻게 받아들이고 넘어가야 할지 몰라서 질문글을 올렸습니다.“다음에는 while문말고 답지처럼 for문으로 풀어야지” 라고 생각하고 넘어갈지 아님 “그냥 이렇게도 풀 수 있구나?” 라고 생각하고 다음에는 for이든 while이든 생각나는대로 풀면 될까요?정답이란 게 없긴 하지만 뭔가 정석대로 안풀면 안될거 같아서 이렇게 질문을 올립니다.
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
lt.rt가 잘 이해가 가지 않습니다.
tree.root.rt = new Node(3);tree객체에서 root를 참조하고, root 객체의 rt 변수의 값을 3으로 설정하는 것은 이해했습니다.그런데, tree.root.rt.lt는 rt변수에서 lt를 접근하는 건가요..??변수에서 변수를 참조하는 것이 잘 이해가 되지 않습니다.감사합니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-C 코드 질문입니다!
안녕하세요 큰돌님! 먼저 알고리즘 강의 너무 재밌게 잘 수강하고 있어 감사의 말씀 올립니다. 해설을 보기 전에 거의 유사하게 작성하였는데 질문이 있어 글 남깁니다 ㅎㅎ1. 요금 계산하는 for문을 조금이나마 덜 돌게 하려고 mi와 mx를 추가하였는데 이렇게 풀어도 괜찮을까요? 2. 코드에서 혹시 더 개선할 부분이 있을까요?http://boj.kr/ad45fb739bc84838aadd154abf5f3ed7
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-F 질문입니다
안녕하세요 선생님!무식하게 조합으로 푼다고 생각했을 때 시간복잡도를 계산해보니antic는 제외하므로 21개의 알파벳중에서 7개, 21C7 이라서 조합으로 풀려고 다음과 같이 코드를 만들었는데 왜 틀렸다고 하는지 이해가 안가요. 혹시 반례가 있나요?http://boj.kr/8bf7e596582f4ea9b3fc75f6720c95ec
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-I 문제
http://boj.kr/5a5b03f202154898a9edff9a950a5e30 이렇게 풀어봤는데 왜 틀렸을까요? 출력은 같게 나오는데..
-
해결됨코딩테스트 [ ALL IN ONE ]
노션 공유
노션 공유 해주셨다고 했는데 cng121958@gmail.com으로 다시 공유해주실 수 있나요? 공유가 아직 안된 것 같습니다..
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
[8-J] 3635: 영화 수집 질문
안녕하세요 큰돌님~8-J 팬윅트리 강의를 듣고 좌표이동 코드를 반영한 코드를 작성해보았는데요~ 백준에서 계속 틀렸다고 나와서 질문드립니다..http://boj.kr/70d1231d67094c51b254c2c6b9c34d65
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
c++ 교안에서 질문이 있습니다
안녕하세요 큰돌님! c++ 교안으로 공부를 하다가 궁금한 점이 있습니다.41쪽에 한글이 한 글자당 3바이트라고 하셨는데, 여태까지 2바이트로 알고있어서 헷갈립니다. 복잡한 한글은 3바이트인 것인지, 아니면 원래 한글이 3바이트인지 알려주시면 감사하겠습니다!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-K 시간초과 질문입니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 홀로 짠 코드가 시간초과가 나서 강의코드로 돌려보니 이것도 시간초과가 나는데 어디를 줄여야할지 모르겠네요..혹시 함수 호출을 줄여야할까요??http://boj.kr/e278e9a647f64738b65ec88feef436cc
-
미해결Do it! 알고리즘 코딩테스트 with JAVA
백준11659 구간합 런타임 에러
하루코딩님 안녕하세요, 열심히 강의 들으면서 공부중입니다 항상 감사드려요public class tes { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int N = Integer.parseInt(st.nextToken()); int M = Integer.parseInt(st.nextToken()); int[] arr = new int[N + 1]; StringBuilder sb = new StringBuilder(); st = new StringTokenizer(br.readLine()); for(int i = 1; i <= N; i++) { //누적 합 저장 arr[i] = arr[i - 1] + Integer.parseInt(st.nextToken()); } for(int i = 0; i < M; i++) { st = new StringTokenizer(br.readLine()); int start = Integer.parseInt(st.nextToken()); int end = Integer.parseInt(st.nextToken()); sb.append(arr[end] - arr[start - 1]).append("\n"); } System.out.println(sb); } } 위와 같이 구현을 하고 실제로 콘솔에서 제가 아래와 같이 입력하면 tokenizer에서 exception이 발생합니다5 3 5 4 3 2 1 Exception in thread "main" java.util.NoSuchElementException at java.base/java.util.StringTokenizer.nextToken(StringTokenizer.java:347) at tes.main(tes.java:19) 디버깅을 해보면 첫번째 5 3 입력값은 잘 읽어서 tokenizer에 저장이 되었는데요,두번째 인풋인 "5 4 3 2 1"은 입력후 엔터를 치면 st = new StringTokenizer(br.readLine()); 라인을 넘어가면 실제 br(BufferedReader)에는 "[\n, 5, 4, 3, 2, 1, \n, , , , ,.. " 처럼 들어가 있는데 st(stringTokenizer)의 str 값을 보면 "" 이렇게 비어있어요 그래서 nextToken()이 없어 에러가 나는것같은데요 왜 제 itellij에서만 그럴까요 ? ㅠㅠㅠ jdk17 사용하고있습니다
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-K 시간초과 나는 이유
해당 코드가 시간초과가 나는 이유가 궁금합니다.https://www.acmicpc.net/source/74630828저의 대략적인 시간 복잡도는1500 x 1500 x n4^n <= r*c를 만족하는 자연수중 최대로 생각하여1억이 넘지 않는다 판단하였습니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
안보고 풀려고 하는데 도중에 막혀서 질문드립니다.
http://boj.kr/18625e7680184525bea813e978c8f370어떤 부분에서 로직이 잘못 돌아가고 있는지 파악을 못하고 있습니다 조건문에서 제대로 판별하지 못하고 있는 것 같은데.. 로그를 보면 왜 그런지 모르겠습니다.
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
코드 이렇게 작성해도 괜찮나요? 혹시 시간 복잡도는 어떻게 되는지 궁금합니다!
string의 slice메소드를 활용해서 다음과 같이 작성해보았는데 이렇게 해도 문제는 없는지, 시간복잡도는 어떻게 되는지 궁금합니다! // 두 문자열 아나그램인지 비교하는 함수 function compareStr(target, str) { // target문자열을 담은 hash 만들기 let targetH = new Map(); for (let x of target) { if (targetH.has(x)) targetH.set(x, targetH.get(x) + 1); else targetH.set(x, 1); } // target과 str이 같은지 비교 for (let x of str) { if (!targetH.has(x) || targetH.get(x) === 0) return false; targetH.set(x, targetH.get(x) - 1); } return true; } function solution(s, t) { let answer = 0; let n = t.length; // target의 길이 for (let i = 0; i <= s.length - n; i++) { let slicedStr = s.slice(i, i + n); // 문자열을 target 길이 맞춰서 잘라주기 // 비교해서 true이면 answer올리기 if (compareStr(t, slicedStr)) answer++; } return answer; } let a = "bacaAacba"; let b = "abc"; console.log(solution(a, b));감사합니다!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
ret.size() 관련 질문 있습니다.
강사님 그 queue나 front()사용할 떄 size()체크를 무조건하라고 하셨는데 그 부분이 어디였는지 기억이 안나요 ㅠ.. 혹시 한번만 더 말씀해주실 수 있을까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
vscode에서 실행 명령어
안녕하세요 선생님! c++ 교안을 보면서 따라하던 중, 맥(m1)에서 vscode를 사용할 때 g++ -std=c++14 -Wall a.cpp -o test.out 이 명령어랑 ./test.out을 해야한다는 것을 봤습니다. 그런데, 저 명령어를 사용하지 않고'플레이 버튼에서 Run Code를 누르면 똑같이 실행되는 것 처럼 보이는데, 둘이 차이가 있나요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-k 만약 문제가 모든 경우의 수를 출력하라고 했을 때 어떻게 하나요?
안녕하세요. 강사님, 문제를 풀다가 질문이 생겼는데요. 만약, 오락실 번호 방문 조건은 그대로이되, (1,1) => (n,m) 도착 경로 모두 구해라 했을 때는 [y][x][pre]로 구하면 되나요?? 추가로 , 아래문으로 구해도 나오나요?? 편하신 시간에 답장 부탁드립니다. 감사합니다.for(int i=0;i<=c;i++){ cnt += dp[1][1][i][0]; }
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-K 반례를 못찾겠습니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 큰돌님!팰린드롬 만들기 문제에서 저는 앞부분을 만들고 reverse로 뒤집어서 붙여넣는 로직을 짰습니다.주어진 테스트 케이스도 다 통과했고 제가 추가로 테스트 해보는 것도 되는데 제가 놓친게 있는 걸까요.. 계속 틀렸습니다 뜨네요..코드 한번 봐주시고 틀린 부분 알려주시면 감사드리겠습니다. http://boj.kr/7595dbd19a6641a6bd143870392ad34d
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-K 제출하면 바로 틀리는 이유를 모르겠습니다.
안녕하세요 큰돌님1-K 팰린드롬 문제에서 테스트는 잘 되는데 제출만 하면 바로 틀렸다고 떠서 질문드립니다.백준 질문게시판에 있는 반례들은 전부 잘 출력이 되는데 어느부분이 문제일까요?혹시 AABB같은 경우전역변수로 선언한 pos가 마지막 res에 합쳐지면서 제출시 틀린답이 나오게 되는건가요? #include<bits/stdc++.h> using namespace std; string name, res, temp; char pos; map<char, int> mp; int cnt = 0; int main(){ ios::sync_with_stdio(0); cin.tie(NULL); cout.tie(NULL); cin >> name; for(char s : name){ if(mp.find(s) == mp.end()) mp.insert({s, 1}); else mp[s]++; } for(auto m : mp){ if(m.second % 2 == 1){ cnt ++; if(cnt > 1){ cout << "I'm Sorry Hansoo" << '\n'; exit(0); } pos = m.first; m.second --; } for(int i = 0; i < m.second / 2; i++){ if(m.second == 0) continue; res += m.first; } } temp = res; reverse(res.begin(), res.end()); res = temp + pos + res; cout << res << '\n'; return 0; }
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-I 메모리 초과나는 이유를 모르겠습니다.
3-I 숨바꼭질5 왜 메모리 초과가 나는지 모르겠습니다. 코드링크: https://www.acmicpc.net/source/74574276
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-G (백준 9996)문제 질문 드립니다
안녕하세요 큰돌님 😀1-G 문제를 풀었는데 출력이 모두 맞게 나오는데 틀렸습니다..! 다른 비슷한 질문에서 알려주신 반례들을 넣어도 출력이 맞게 돼서 오래 생각해봤음에도 도저히 반례를 찾지 못하겠어서 질문 드립니다ㅜㅜ http://boj.kr/e658e81ea13b4cca95eea034abd180fb제가 생각한 로직은 먼저 입력받은 패턴의 '*' 위치의 index를 구하고, 그 인덱스를 기점으로 두 개의 문자열로 나누었습니다.a*b 이면, one 이라는 문자열에 a를 넣고, two 라는 문자열에 b를 넣었습니다.그리고 one 문자열은 앞에서부터 N번 입력받은 tmp의 배열과 비교하였고,two 문자열은 뒤에서부터 N번 입력받은 tmp 배열과 비교했습니다.출력은 맞게 나오는데 혹시 제가 생각한 것에 문제가 있을까요??ㅜㅜ항상 감사합니다 😀 http://boj.kr/37bf9df65f56423bac450aeb1601ca9d반례 찾고 코드 수정해서 통과했습니다 😀코드가 더럽긴 한데 해당 강의 보면서 더 연습하겠습니다ㅎㅎ!!