묻고 답해요
148만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
채점 사이트에서 런타임 에러가 발생하여 질문드립니다.
강의보기전 짜본 코드입니다. 이클립스에서 실행할때는 답이 맞게 나오는데 채점 사이트에서는 에러가 출력되어 질문드립니다. package codingTest; import java.util.*; public class Main { public int Solution(int n, int[] ns) { int answer = 0; int reward = 0; for (int i = 0; i < n; i++) { if (ns[i] == 1) { reward++; answer += reward; } else if (ns[i] == 0) { reward = 0; answer += reward; } } return answer; } public static void main(String[] args) { // TODO Auto-generated method stub Main T = new Main(); Scanner kb = new Scanner(System.in); int n = kb.nextInt(); int[] ns = new int[n]; for (int i = 0; i < n; i++) { ns[i] = kb.nextInt(); } System.out.println(T.Solution(n, ns)); } }
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
알고리즘 교안 107p Array vs Linked_List 시간
Linked_List가 순차접근을 하니까 원소에 접근할때 O(N)이 걸리는건 알겠는데삽입,삭제에 O(1)이 걸리는게 이해하기 힘듭니다똑같이 순차접근을 해야하니까 O(N)이 걸려야 하는거 아닌가요??? Array에서 랜덤접근이 가능하니까 접근할때는 O(1)이 걸리는거 알겠는데삽입,삭제에 O(N)이 걸리는건 이해하기힘듭니다접근할때와 마찬가지로 랜덤접근하면 O(1)이 걸려야 하는거 아닌가요???
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-S dfs 코드 문의
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 큰돌님. 코드 자체는 정답인데 , 큰돌님 처럼 반환값이 있는 dfs 말고 전역으로 cnt 변수를 cnt++ 해서 각 노드의 방문 횟수를 확인하는 것은 비효율적인 가요?? http://boj.kr/298fbbac55e4456f974190efc75b1762
-
해결됨2주만에 통과하는 알고리즘 코딩테스트 (2024년)
2차원 DP 1937
#1937왜 마지막에 +1 해주는거죠?
-
해결됨2주만에 통과하는 알고리즘 코딩테스트 (2024년)
냅색 12865
물건을 안 넣은 경우에도 idx+1 해주어야하지 않나요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-A (2178 - 미로찾기) 문제
https://www.acmicpc.net/board/view/138139코드가 불완전해서 채점에 아직 돌리지 않아서 백준 글쓰기 링크를 올렸습니다..!(다시 올렸습니다..!) 막 dfs,bfs를 배우기 시작했는데 최소거리를 구할땐 bfs를 써야 한다고 선생님 강의에서 배웠습니다. 호기심으로 dfs를 시도했는데 출력이 아무것도 나오지 않습니다.. 어떤 부분을 고쳐야 할까요? 하루종일 했는데 답이 나오지 않습니다 ㅠㅠ 2-A (2178 - 미로찾기) 문제입니다. 선생님의 완벽한 dfs 코드가 있으면 보여주시면 더욱 감사하겠습니다..! 보고 배우고싶습니다.
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
런타임에러라고 뜨는데 어디서 잘못된 걸까요?
board의 값을 map으로 저장했습니다. map<몇번째 칸, 저장된 인형들>map의 key에 해당하는 value는 stack으로 저장했습니다.찾아보니 테스트 케이스 5번이 N번 째 줄의 인형을 쌓을 때 0 0 0 1 2 3 이런 식으로 쌓이는 경우뿐 아니라 0 1 0 2 3 같은 경우도 있다고 하네요. 하지만 이건 문제에 따로 명시되지 않은 부분이고 보통 인형 쌓기라고 하면 공백 없이 차곡차곡 쌓이는 걸로 생각해서 코드를 짰습니다.위의 테스트 케이스를 제외하고는 그럼 통과가 돼야 하는데 아예 런타임에러로 뜨는 이유를 못 찾고 있습니다..어떤 문제 때문인지 알려주시면 감사하겠습니다!package programmers.level0; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashMap; import java.util.Map; import java.util.Stack; import java.util.StringTokenizer; public class Main{ private static int solution(int size, int[][] board, int moveSize, int[] moves) { int answer = 0; // 삭제된 인형 수 Map<Integer, Stack<Integer>> map = new HashMap<>(); // 인형뽑기 기계(몇번째줄에 어떤 인형이 있는지 저장) // 입력받은 2차원 배열을 col별로 stack으로 저장해서 map에 저장 // 0값은 stack에 저장X for (int col = 1; col <= size; col++) { Stack<Integer> stack = new Stack<>(); for (int row = size; row > 0; row--) { if (board[row][col] == 0) break; stack.push(board[row][col]); } map.put(col, stack); } Stack<Integer> basket = new Stack<>(); for (int i = 0; i < moveSize; i++) { Stack<Integer> stack = map.get(moves[i]); if (!stack.isEmpty()) { if (!basket.isEmpty() && stack.peek() == basket.peek()) { basket.pop(); stack.pop(); answer += 2; } else { basket.push(stack.pop()); } } } return answer; } public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int size = Integer.parseInt(st.nextToken()); int[][] board = new int[size + 1][size + 1]; for (int i = 1; i <= size; i++) { st = new StringTokenizer(br.readLine()); for (int j = 1; j <= size; j++) { board[i][j] = Integer.parseInt(st.nextToken()); } } int moveSize = Integer.parseInt(br.readLine()); int[] moves = new int[moveSize]; st = new StringTokenizer(br.readLine()); for (int i = 0; i < moveSize; i++) { moves[i] = Integer.parseInt(st.nextToken()); } System.out.println(solution(size, board, moveSize, moves)); } }
-
해결됨코딩테스트 [ ALL IN ONE ]
dfs, bfs 1번문제 dfs코드
안녕하세요 bfs코드로 문제를 푸셨는데 이 문제를 dfs코드로 푸신 것도 볼 수 있을까요? (bfs로 푸신 것은 이해했습니다만 dfs는 dx, dy를 어떻게 적용해야하는지 궁금해서요)또한 bfs는 최단거리 구할때 풀고 이외에는 dfs로 풀면 되는 것으로 아는데 애초에 bfs로 모든 문제를 접근하게 되면 최단거리 문제도 풀 수 있으니 dfs보다 포괄하는 문제유형이 많아서 효율적인 것이 아닌가요?좋은 강의 해주셔서 감사합니다.
-
미해결알고리즘 코딩테스트 문제풀이 with JAVA & 파이썬 (난이도 - 브론즈 3)
동영상 강의 화면이 작아요.
이전 강의는 화면 최대한 키우는 기능이 있던데 이번에는 그 기능이 없네요.
-
미해결[입문편] 안드로이드를 위한 코틀린(Kotlin) 문법
인터페이스에 대한 질문입니다
인터페이스가 이해가 잘 되지않습니다 추상클래스를 이용해서도 상속을 하는데 왜 더 작게 상속을 해야하나요? 아니면 여러개 상속할 것을 인터페이스를 이용하여 하나로 묶어 다중상속 하는건가요? 일반적으로 추상클래스를 이용하거나 open을 이용해도 상속이 되는데 꼭 interface를 사용해야하나요??
-
해결됨독하게 C를 배운 사람을 위한 선형 자료구조
CLI UI적용 강의에서 질문드립니다.
강의 자료로는 잘 실행되는데 똑같이 복사 붙여넣기로 다른 솔루션에서 실행하려면 이렇게 오류가 뜹니다. 이유를 잘 모르겠어 질문드립니다..
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
강사님 안녕하세요! 그저께 수강신청한 대학생 입니다.
제가 그저꼐 강의를 구매하게 되었는데, 주 언어인 자바로 코딩테스트를 준비하는 게 맞을 거 같아서정말 죄송하지만, 지금 자료 다운로드 버튼을 눌러버려서 환불이 안돼는 상황인데 혹시 수수료를 절반 차감하더라도 일정부분이라도 받을 수 있을까요? ㅜㅜ 깊게 생각하지 못하고 결제하게 되서 정말 죄송합니다..ㅜㅜ자료는 정말 읽어보지 않았고 바로 삭제한 상태입니다!ㅜㅜ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-I 2번 케이스를 해야하는 이유를 제가 잘 이해한게 맞을까요?
쌤, 강의 시간 3:36 초에서 [50만][50만] 배열을 생성하면 공간복잡도가 커서 안된다는 말씀을 듣고 그 예시를 코드로 작성해 보았습니다! (Case 2 를 해야하는 이유를 이해하기 위해서)http://boj.kr/3b3efff1b680482380e9e4a513b6ce12max 를 500으로 하면 돌긴하는데 당연히 틀리고, 50만으로 하니 컴파일 에러가 떠서 안되더라구요.. 이차원 배열 행을 "각 턴"으로 생각하였고, 열을 "위치"로 생각하여 풀었습니다.영상에서는 "수빈의 범위", "동생의 범위"라고 알려주시긴 하셨는데 같은 내용으로 이해한 것이 맞는지 궁금하였습니다!
-
해결됨2주만에 통과하는 알고리즘 코딩테스트 (2024년)
2강 정수론 14252
힌트가 없다는 가정한다면,for i in range(42, 2184): 구문에다가도if i == 2183: count += 2위의 조건문을 넣어줘야겠죠?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-N 질문 있어요
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.http://boj.kr/3a71a94e910e4a2da75f16b9b380ced6 위의 코드에서 5번째 줄 즉 int solve라고 하면 왜 틀리는지 알고 싶습니다. 제가 생각하기엔 return 시 다 c로 나눈 나머지가 전달되고 그러면 c(2,147,483,647)보다 작은 값 즉 int형으로 담아내기 충분한 값이 return 될텐데 왜 long long 일 때와 달리 틀렸다고 나오는지 알고 싶습니다. 5번째 줄 int solve를 long long slove로 바꾸면 맞았다고 나옵니다. 또한 강사님의 공유 코드에서 if(b % 2)ret = (ret * a)% c;라는 부분이 9줄에 있는데 이게 아니라 if(b % 2)ret = (ret * (a % c))% c; 가 되어야 하는 거 아닌지 알고 싶습니다.
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
어느 부분에서 오답인지 잘 모르겠어요
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 영상보기 전 혼자 풀었었던 답인데 어떤 부분에서 오답인지 모르겠습니다. 도와주세요 ㅜ import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int N = scan.nextInt(); int M = scan.nextInt(); int[] nums = new int[N]; int index1 = 0; int index2 = 1; int answer = 0; for (int i = 0; i < N; i++){ nums[i] = scan.nextInt(); } int sum = nums[index1] + nums[index2]; while(index2<N-1){ // index2가 2일 때 if(sum==M){ // answer++; // anser은 +1이 됨. 이 때 index2는 2 sum -= nums[index1++]; sum += nums[++index2]; // 인덱스 위치 옮겨줌. index2는 3이 됨. if(sum == M && index2 == N-1){ answer++; } continue; } if(sum<M){ sum += nums[++index2]; continue; } if(sum>M){ sum -= nums[index1++]; continue; } } System.out.println(answer); } }
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-N 시간 복잡도 접근 질문드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 단순히 한 자리에서 5번 호출, 영향을 받을 수 있는 지점 99개가 있으므로 최대 약 5^99 이라고 생각했거든요.5x5의 색종이를 붙이니까 영향 받는 타일이 더 생략될 수는 있겠다 싶었지만 좀 그래도 좀 클 것이라고 생각했습니다.혹시 선생님이 이 문제 어떻게 접근하셨는지 궁금합니다
-
해결됨코딩테스트 [ ALL IN ONE ]
완전탐색 - 구현(순열) 질문
강사님, nums 1234로 만들수 있는 모든 순열을 반환하시오 문제에서 질문이 있습니다.curr = []라고 지정하지 않았는데 어디에서 갑자기 curr이 빈리스트로 자동적으로 생성된건가요?curr이랑 nums 개수 같으면 answer에 순열 추가되고 함수종료되는건 알겠는데 curr가 [1, 2, 3, 4]일때 재귀함수 종료되고 다음 curr.pop()로 넘어가서 [1, 2, 3]이 되는거까진 이해갔습니다. 넘어가는 순간 또 재귀함수가 종료되서 curr.pop()이 되서 [1, 2]가 되는건 알겠는데 갑자기 3, 4만 빠진 여기에서 멈추게 되는 것이 이해가 가지 않습니다. 여기에서 멈춰서 다시 4, 3으로 진행되는게 이해가 안가서요ㅠㅠ 1, 2도 전부 이전의 재귀함수가 종료된 것이니 pop이 되어야 되는거 아닌가요?ㅠㅠ for문 안의 재귀함수가 종료될시 어디로 돌아가는지가 약한거 같은데 이부분 공부하는 방법이 있으까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-A dfs 시도
https://www.acmicpc.net/group/board/view/20223/37592 코드가 불완전해서 채점에 아직 돌리지 않아서 백준 글쓰기 링크를 올렸습니다..! 막 dfs,bfs를 배우기 시작했는데 최소거리를 구할땐 bfs를 써야 한다고 선생님 강의에서 배웠습니다. 호기심으로 dfs를 시도했는데 출력이 아무것도 나오지 않습니다.. 어떤 부분을 고쳐야 할까요? 하루종일 했는데 답이 나오지 않습니다 ㅠㅠ 2-A (2178 - 미로찾기) 문제입니다. 선생님의 완벽한 dfs 코드가 있으면 보여주시면 더욱 감사하겠습니다..! 보고 배우고싶습니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-I / cin으로 숫자를 입력 받으면 일단 문자열로 받아지나요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 큰돌님.cin을 사용해서 숫자를 입력받으면 우선 문자열로 처리된 후에 int로 변환이 되는건가요?왜냐하면 해당 문제의 코드에서 string형 변수인 s에다가 숫자를 받았는데 이 부분 때문에 고민을 많이했거든요. string형에다가 숫자를 못받을거라고 생각해서..또 교안에서 getline을 설명할 때도 숫자를 입력받은 후 '\n'을 없애기 위해 bufferflush를 사용했었는데 이것 또한 문자열로 인식하기 때문인가 싶어서요.