묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
주석처리 단축키
드래그해서 주석처리하는거 단축키가 뭔가요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
_map[b]++; 질문드립니다.
안녕하세요!_map[b]++; 하게 되면 b에 입력된 값하고 인덱스번호가 자동으로 추가가 되는건가요?for(auto it : _map) cout << "first : " << it.first << " second : " << it.second << "\n";로 로그를 찍어봤는데 번호하고 값이 잘 나오기는 했습니다만 정확한 답변을 알고자 질문드렸습니다. 감사합니다!
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
변수 값 바꾸기
변수 값 바꿀때 자바는 다른 변수 하나 더 필요한데 파이썬은 없어도 되나요?
-
미해결[입문편] 안드로이드를 위한 코틀린(Kotlin) 문법
고차함수 7:43분 관련 질문입니다.
고차함수는 함수를 인수로 받는 함수라고 이해했어요.그런데, 7:43정도에 나오는 highPrintTest(::printTest)에서 고차함수는 "결과 등을 리턴하는 함수"를 인수로 가지는 함수이기에, ::printTest 이 부분은 printTest함수의 결과값이 들어가야 하지 않나요? 그런데, 지금 printTest말고는 인수를 안 태웠기 때문에, printTest(str:String)함수에는 변수의 타입이 안 맞으니 못 들어가서 타입 에러가 나와야 하지 않나요?
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
Time limit가 걸리는데 어떻게 해결해야 할까요?
#include <stdio.h> #include <vector> using namespace std; int n, m; int answer = 0; void solution(vector<vector<int>> & arr, vector<int> & visited, int current){ if(current == n){ answer++; return; } visited[current - 1] = 1; for(int i=0;i<n;i++){ if(arr[current-1][i]!=0 && visited[i] == 0){ visited[i] = 1; solution(arr, visited, i+1); visited[i] = 0; } } visited[current - 1] = 0; } int main(void){ //freopen("input.txt", "rt", stdin); int start, end; scanf("%d %d", &n, &m); vector<vector<int>> arr(n, vector<int>(n)); vector<int> visited(n); for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ scanf("%d %d", &start, &end); arr[start-1][end-1] = 1; } } solution(arr, visited, 1); printf("%d", answer); return 0; }안녕하세요. 다름이 아니라 수업 듣기 전 짠 코드를 이용해 채점 프로그램을 실행시키면 모든 case에 대해 time limit가 나와서 질문드립니다. 위 코드에 어떤 문제가 있을까요? 채점파일 내에 있는 input.txt 입력받고 실행시키면 전부 정답으로 나옵니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-U 1450 냅색문제 메모리 초과 질문
http://boj.kr/c987a498c5014855a47dd70a1ca8da7f안녕하세요 큰돌님 !해당 문제 DP로 접근했는데 강의 초반에 말씀해주신 것처럼 메모리 초과로 실패했습니다.여쭤보고 싶은 것이 강의에서 'DP로 풀면 상태값 저장하기가 힘들다'라는 말씀해주셨는데 혹시 이 말뜻이 구체적으로 무엇을 뜻하는건가요? 저는 '결과들을 DP 배열 또는 다른 자료구조로 쌓아나가기 힘들다'라고 해석해서 처음 dp 배열을 map<pair<int,int>, int> 맵으로도 바꿔보고 sum과 idx를 1000곱하고 더해 하나의 longlong으로도 시도해봤는데요. 좀 더 생각해보니 상태값을 저장하다가 메모리 초과가 발생한 것이 아니라 재귀 스택이 너무 많이 쌓여서 메모리 초과가 발생한 것이 좀 더 meet in the middle 알고리즘을 사용하는 이유에 적합한 것 같은데 맞을까요?
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
for문 조건문 범위에 관련된 질문
강시님께서 풀어주신 TreeSet 변수 이름: set제가 풀었던(오답처리가 난) TreeSet 변수 이름: ex 강사님께서 풀어주신 for문의 형태입니다.제가 처음에 풀 때 for 문의 형태입니다.indexOutOfBoundsException이 발생하거라고 생각하여 위와 같이 조건문을 실행하였습니다. (indexOutOfBoundsException이 발생할것이라는 것은 잘못 생각한 부분입니다.) 처음에 계속 오답이 나서 조건문을 강사님과 같이 수정하니 정답처리가 되었습니다.하지만 제가 풀었던 for문의 조건문은 사실상 강사님께서 풀어준것과 똑같은 결과를 도출할 것이라 예상하였고, 실제로 set과 ex를 equals 메서드를 이용해보면 true를 반환합니다. 왜 for문의 조건문을 제가 푼 방식대로 설정하면 객체는 true를 반환하지만(같은 객체라고 판단된다고 생각됩니다.) 정답은 오답처리가 되는걸까요?
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
연속분수수열 코드리뷰 부탁드립니다 ㅠ
import java.util.Scanner; public class Main { public static void main(String[] args) { //입력 Scanner scn = new Scanner(System.in); int n = scn.nextInt(); int m = scn.nextInt(); int[] arr = new int[n]; for (int i = 0; i < n; i++) { arr[i] = scn.nextInt(); } int count = 0; int sum = 0; int i = 0; int k = 1; // 더한 수열 인자의 갯수 while(i<n){ sum += arr[i]; if(sum<m) { i++; k++; } else if(sum>m){ while(sum>m){ sum -= arr[i-(k-1)]; // m 보다 크면 맨앞에거 창문에서 제거 k--; if(sum==m) count++; i++; k++; // 맨앞을빼줘서 count증가하고 index증가할때 그 다음이 바로 sum>m 경우면 또 k--를 빼주기때문에 여기서 k++를 해줘야한다. if(sum<m) i++; } } else if(sum==m){ count++; i++; } } System.out.println(count); } }문제 예제와 다른 커뮤니티 질문에 답변에 있던 예제5 31 1 1 1 1경우도 통과했는데 오답이 나옵니다 ㅠㅠ 저는 lt, rt 같은 위치자(?)를 사용하지 않고sum 되고 있는 배열 인덱스의 갯수를 세서sum > m 경우 맨 앞인덱스를 제외시킬때 사용하였습니다.
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
이렇게 풀어도되나요?
function solution(arr) { let answer = 0; let max = arr[0]; for (let i = 0; i <= arr.length; i++) { if (max < arr[i + 1]) answer++; max = arr[i + 1]; } return answer; }
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
이 코드에 무슨 문제가 있는지 궁금합니다.
다른 케이스는 다 통과를 했는데 유일하게6 060 60 90 60 60 60인 경우에 답을 5가 아닌 6으로 나오게 하는데 왜 그런지 궁금합니다..
-
미해결코딩테스트 [ ALL IN ONE ]
그래프 암시적 그래프 질문입니다!
너비우선 탐색부분 강의 듣는중입니다! 이전 강의에서 암시적 그래프 최단거리 찾기 등의 그래프를 구현할 때는 [1,1,0,1,1] 이런식으로 구현하라고 하셨는데, 저런 문제도 지금 bfs강의에서 외우라고 하신 템플릿 대로 외워서 조금 응용해서 풀면 되는건가요??? 격자판 문제가 조금 어려워서 질문드립니다!격자판은 템플릿이 따로 있나..해서요!
-
미해결더 개발자, 인터뷰 가이드
미션 관련 내용 질문 있습니다..!
현재 인프런에서 기능이 삭제되어 다들 볼 수 없는 상황인데, 혹시 이 미션이 수업 자료로 주신 <학습할 것> 이 부분을 공부하라고 하는 내용일까요?궁금하네요 🥸
-
미해결더 개발자, 인터뷰 가이드
미션 수행 방법 질문드립니다.
아랫글을 보니 깃발기능이 없어져서 미션 수행을 위한 공지용 강의를 올려주신다고 하셨는데 강의가 없는 것 같습니다. 현재 상태에서 미션 수행할 수 있는 방법이 있을까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-A 맞왜틀
안녕하세요. 선생님 ㅎㅎ 수업 잘 듣고 있습니다.수업에서 알려주신 visited 배열의 값들을 증가시키면서 depth를 세는 방법 말고, 구조체를 정의해서 문제를 풀어봤는데요?이게 어떤 방법은 틀리고 어떤 방법은 맞아서.. 어디서 차이가 나는지 궁금해서 질문드립니다.<맞은 코드>http://boj.kr/646d439f862e419ab3a865fdd7b1551b일단 큐에 현재 노드에서 갈 수 있는 노드(4방향)를 모두 넣고, 이후에 조건으로 노드를 선별하고, 혹시나 해서 아래와 같은 탈출 조건을 추가했습니다. if (row == m - 1 && col == n - 1) { res = depth; break; }<틀린 코드>http://boj.kr/516fe108a71c492e8c1967455f7222a1이번에는 큐에 넣기 전 예상되는 노드를 조건문을 통해서 선별하고 큐에 넣습니다.제 생각에는 이 코드가 큐에 들어가는 노드의 개수가 적어서 속도가 빠를 것 같은데, 메모리 초과가 나오더라구요;; <수정 코드>http://boj.kr/f72b373b45464778b8313fec9713ba18수정을 해봤는데 이번에는 틀린 코드랑 나머지는 똑같은데 반복문 안에서 큐에 넣자마자 바로 방문처리를 해주는 것입니다.for (int i = 0; i < 4; i++) { int nr = row + dr[i]; int nc = col + dc[i]; if (nr < 0 || nr >= m || nc < 0 || nc >= n) { continue; } if (puzzle[nc][nr] == 0) { continue; } if (visited[nc][nr]) { continue; } q.push({nr, nc, depth + 1}); visited[nc][nr] = true; } 이렇게 수정하니까 또 맞더라구요..<수정 코드>가 <틀린 코드>보다 메모리를 덜 차지하는 것은 알겠는데, <맞은 코드>가 <틀린 코드>보다 메모리를 덜 차지하는 잘 모르겠어서 질문드립니다.질문이 길어서 sorry...
-
해결됨자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
이 코드는 어떤 부분이 문제인지 궁금합니다.
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); Main main = new Main(); for (int i = 0; i < n; i++) { System.out.print(main.solution(i) + " "); } } private int solution(int i) { if (i <= 1) { return 1; } return solution(i - 1) + solution(i - 2); } }
-
해결됨자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
런타임에러 질문입니다
import java.util.*; class Main { public String solution(String need, String plan){ String answer = "YES"; Queue<Character> q = new LinkedList<>(); for(char x: need.toCharArray()){ q.offer(x); // 필수과목을 q에 넣어줌 } for(int i = 0; i<plan.length(); i++){ if(!q.isEmpty() && q.peek() == plan.charAt(i)){ //교육과정 첫 번째 과목 == 현수의과목 q.poll(); } } if(!q.isEmpty()){ answer ="NO"; } return answer; } public static void main(String[] args){ Main T = new Main(); Scanner kb = new Scanner(System.in); String a=kb.next(); String b=kb.next(); System.out.println(T.solution(a, b)); } }안녕하세요! 항상 양질의 강의 잘 듣고 있습니다!처음에 if(!q.isEmpty() && q.peek() == plan.charAt(i)) 부분에서 if(q.peek() == plan.charAt(i)) 로 조건문을 짰는데, 런타임 에러가 나서 !q.isEmpty() 를 붙였더니 정상적으로 잘 돌아가게 되었습니다. 웹서핑을 하다보니 큐에 자료가 없을 경우 q.peek()를 할 경우 exception이 나 런타임 에러가 난다고 하는 데 맞을까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
어떤 예외가 있는지 잘 모르겠네요
안녕하세요 예제를 입력했을때는 잘 출력이 되는데제출을 하면 틀렸다고 뜨네요 어떤 예외가 있을까요?http://boj.kr/c2fcd5fb097e4953a6b6c06f900cb025감사합니다!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-C 질문
http://boj.kr/8688fcc2c590479b9ea68877d8ea7530선생님 저는 코드에 ? 있는 곳에 -1이 왜 있는지 이유를 모르겠습니다. 그리고 저기 있는 -1을 없애고 TC를 돌리면 세그멘테이션 폴트가 나오는데 그건 왜 그런건가요??
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-G 결과가 잘 출력되는데 틀렸다고 결과가 나옵니다
http://boj.kr/116102baf98342ddbbb0c1926c191911안녕하세요. 문제 보고 코드를 작성하였고, 실행 시켰을때 결과도 문제에서 요구하는대로 잘 출력되는데 백준에서 채점 결과는 왜 틀렸다고 뜨는지 잘 모르겠습니다. 혹시 코드에서 잘못된 부분이 있는지 한번 봐주실 수 있나요?감사합니다.
-
미해결Do it! 알고리즘 코딩테스트 with JAVA
5개의 데이터 중 3개가 이미 선택이 완료된 경우 점화식에 대해 질문드립니다.
선생님 안녕하세요좋은 강의를 만들어주신 덕분에 잘 보고 있습니다.조합으로 점화식을 도출해내신 것을 보고 궁금한 점이 생겨서 가르쳐주시면 감사하겠습니다. 강의 12분 540초에서5C3 = 4C2+4C3 점화식을 도출해내신 것을 보고제가 제대로 이해했는지 확인하기 위해 다른 시도를 해봤습니다. 위의 점화식은 5개의 데이터 중 4개를 이미 선택이 완료된 데이터로 가정했을 때 도출이 되는 식입니다. 그래서 저는 5개의 데이터 중 3개를 이미 선택이 완료된 데이터로 가정했을 때로 점화식을 도출해봤습니다.그래서D[5][3] = D[3][3] + (D[3][2] * 2) +D[3][1]라고 도출해봤는데, 혹시 제가 제대로 이해했는지 봐주시면 감사하겠습니다.