묻고 답해요
150만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
순위 정보를
불러오고 있어요
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
업데이트 되면서 사이트에 문제가 다내려가고 채점버튼도 안보임
안녕하세요 강의 수강중이던 학생입니다. 현재 인프런이 업데이트 된 후에 채점사이트에 문제가 다내려가고 채점 버튼도 보이지 않는데 어떻게 된걸까요 ㅜㅜ
-
미해결38군데 합격 비법, 2024 코딩테스트 필수 알고리즘
2-6 LinkedList 합계 자바 풀이
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요? 2-6어떤 알고리즘을 학습하고 계신가요? LinkedList여기까지 이해하신 내용은 무엇인가요? 어떻게 로직이 흘러가는지 이해가 된 상태 입니다. 2. 어려움을 겪는 부분어느 부분에서 막히셨나요? 어려운 부분은 아니고 뭔가 제 풀이에 대해서 공유 해드리고 싶습니다!코드의 어떤 로직이 이해가 안 되시나요? 이해가 안되진 않는 것 같습니다!어떤 개념이 헷갈리시나요? 없습니다! 3. 시도해보신 내용문제 해결을 위해 어떤 시도를 해보셨나요? 우선 값들을 StringBuilder 로 만들어서 각각 Int로 파싱한다음 더해주는 과정을 해보았습니다.에러가 발생했다면 어떤 에러인가요? 없습니다!현재 작성하신 코드를 공유해주세요 package algorithm_practice.second_week; public class GetLinkedLiistSum_01 { // Node 클래스 정의 static class Node { int data; Node next; Node(int data) { this.data = data; this.next = null; } } // LinkedList 클래스 정의 static class LinkedList { Node head; public LinkedList(int value) { this.head = new Node(value); } public void append(int value) { Node cur = head; while (cur.next != null) { cur = cur.next; } cur.next = new Node(value); } } // 두 연결 리스트의 합을 계산하는 메서드 public static int getLinkedListSum(LinkedList list1, LinkedList list2) { StringBuilder firstNumber = new StringBuilder(); StringBuilder secondNumber = new StringBuilder(); Node cur1 = list1.head; Node cur2 = list2.head; while (cur1 != null && cur2 != null) { firstNumber.append(cur1.data); secondNumber.append(cur2.data); cur1 = cur1.next; cur2 = cur2.next; } int result = Integer.parseInt(firstNumber.toString()) + Integer.parseInt(secondNumber.toString()); return result; } // 메인 실행 테스트 public static void main(String[] args) { LinkedList linkedList1 = new LinkedList(6); linkedList1.append(7); linkedList1.append(8); LinkedList linkedList2 = new LinkedList(3); linkedList2.append(5); linkedList2.append(4); int result = getLinkedListSum(linkedList1, linkedList2); System.out.println("두 연결 리스트의 합: " + result); // 예시: 1032 } } 파이썬 코드를 자바로 변환해서 풀어봤는데 이렇게 접근해도 좋은 풀이 일까요~? 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다! 😊
-
미해결세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
종료 조건
원래 상태로 돌아오기까지 4n번의 횟수가 걸린다는 것은 이해를 했습니다. 그런데 제가 처음에 생각한 종료 조건은 둘 중 하나의 큐라도 비어있게 된다면 합을 같게 만들 수 없는 경우라 생각했습니다. 그런데 시간초과가 발생하네요.하나의 큐가 원래 상태로 돌아가기 위해서는 그 과정에서 반드시 원소가 하나도 없는 경우가 생길것이라 생각했는데 아닌건가요?
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
마지막 테스트 케이스에서 타임에러 발생하는데 이유를 모르겠어요 (해결완료)
import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Main { static int n, m, left=0; static int[][] boxes; static int[][] directions = new int[][]{{-1, 0}, {0, -1}, {1, 0}, {0, 1}}; static Queue<Integer[]> q; public int BFS() { /* 정수 1은 익은 토마토, 정수 0은 익지 않은 토마토, 정수 -1은 토마토가 들어있지 않은 칸 | 모두 익을 때까지의 최소 날짜 nx-1, ny | nx, ny-1 | nx+1, ny | nx, ny+1 */ if (left==0) return 0; int L = 0; while (!q.isEmpty()) { int size = q.size(); for (int i=0; i<size; i++) { Integer[] point = q.poll(); for (int j=0; j<4; j++) { int nx = point[0] + directions[j][0]; int ny = point[1] + directions[j][1]; if (nx>=0 && nx<n && ny>=0 && ny<m && boxes[nx][ny]==0) { left--; boxes[nx][ny] = 1; q.offer(new Integer[]{nx, ny}); } } } L++; } if (left >0) return -1; return L-1; } public static void main(String[] args) { Scanner kb = new Scanner(System.in); m = kb.nextInt(); n = kb.nextInt(); boxes = new int[n][m]; q = new LinkedList<>(); for (int i=0; i<n; i++) { for (int j=0; j<m; j++) { boxes[i][j] = kb.nextInt(); if (boxes[i][j]==1) q.offer(new Integer[]{i, j}); if (boxes[i][j]==0) left++; } } Main main = new Main(); System.out.println(main.BFS()); } } 코드는 위와 같이 짰는데 계속 타임 에러가 발생해서 강의를 들었습니다.. 제가 보기엔 강사님이 짜신 거랑 차이를 모르겠는데 제 코드의 어떤 부분이 문제가 됐을까요?===========================AI 답변 보고 혹시나 싶어서 강사님이 하신대로 Point class 를 따로 만들어서 진행했더니 해결됐습니다..!!!! 배열로 선언한 것과 차이가 있네요
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
왜 틀렸는지모르겠어요
http://boj.kr/18a6291908d8406da6779291cda4097b
-
미해결김영한의 실전 자바 - 중급 2편
LinkedList의 for-each 동작 방식이 궁금합니다.
본 강의 약 10분 쯤에 나오는 코드private static boolean contains(LinkedList<Integer>[] buckets, int searchValue) { int hashIndex = hashIndex(searchValue); LinkedList<Integer> bucket = buckets[hashIndex]; for (Integer integer : bucket) { if (integer == searchValue) { return true; } } return false; }이 부분에서 배열은 각 인덱스의 요소를 하나씩 꺼내는데 LinkedList는 어떤식으로 for-each문을 사용하는지 궁금합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
성능 비교 관련해서 질문 있습니다.
안녕하세요 큰돌님 강의 잘 듣고 있습니다.저는 공부할 때 제가 짠 코드랑 큰돌님이 짠 코드 그리고 채점현황에 있는 다른 사람코드를 보며 걸린 시간을 자주 비교해봅니다.걸린 시간이 차이나는 건 해결방법의 시간복잡도의 차이가 있어서겠지만, 코드를 비교하다보면 꽤나 자주 문제를 푸는 방법이 비슷한데도 불구하고 걸린 시간 차이가 유의미해 보이는 경우가 있습니다.예를 들면 4-F문제의 경우 큰돌님이 공유해주신 코드는 124ms걸렸습니다. (제가 다시 큰돌님 코드 그대로 다시 돌려봤을 때는 100ms 걸렸습니다.)http://boj.kr/7943b7d08dcb4d30bec01eabbf160e77그리고 제가 큰돌님 코드를 참고해서 다시 짠 코드는 24ms가 걸렸습니다.http://boj.kr/e57959b67c14428ab1a14942f45f667e큰돌님꺼 보고 짠거라 논리는 거의 똑같은데 4~5배 정도의 시간차이가 나서 꽤 유의미한 차이가 나는 것에 의문이 들었습니다.하지만 제가 그 우의미한 시간 차이의 원인을 찾기는 힘들었습니다.백준 테스트케이스의 구성에 따라서 같은 성능을 가진 두 코드라도 걸린 시간의 유의미한 시간 차이가 생길 수 있는 걸까요?걸린 시간 차이가 왜 생겼는지 고민해보는 건 좋겠지만 이 정도의 코드 차이에 대해서 걸린 시간 차이가 왜 생겼는지 고민해보는 건 불필요할까요?아니면 제가 생각히지 못하는 두 코드의 유의미한 성능에 영향을 주는 요소가 있을까요?이런 비교를 하는데 너무 시간을 쓰는 건 아닐까 고민이 되기도 해서 질문드립니다.감사합니다.
-
미해결코딩테스트 [ ALL IN ONE ]
list1.append(list2)와 list1.append(list2[:])의 차이가 무엇인가요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요 def solution(l,k): result = [] curr = [] def backtracking(start, curr): if len(curr) == k: result.append(curr[:]) return for i in range(start, len(l)): curr.append(i+1) backtracking(i + 1, curr) curr.pop() backtracking(0, curr) return result위의 코드에서 if len(curr) == k: 안에 result.append(curr[:]) 대신 result.append(curr)을 넣으면 result = [[], [], [], [], [], []]와 같이 값이 제대로 추가가 안 되던데 무슨 차이가 있는 건가요?main 함수에서 test1 = [] test2 = [1,2,3] test1.append(test2) print(test1) test1 = [] test1.append(test2[:]) print(test1)이와 같이 테스트를 해보면 두 프린트 결과 모두 [[1,2,3]]으로 동일하게 나오는데 위의 경우는 달라서 질문 드립니다.
-
미해결코딩테스트 [ ALL IN ONE ]
라이브러리 사용
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요 선생님! 수업을 듣다가 궁금한 점이 생겨 남깁니다. hash table 파트에서 중복없이 해야 한다면 dictionary 로 하는 것보다 set()을 써서 하는게 더 편하지 않나요? 순열, 조합 파트에서 백트래킹 대신에 from itertools import permutations, combinations를 사용해서 풀어도 되나요? 혹시 순열, 조합, 부분집합 이외에 백트래킹을 활용해야 하는 코딩테스트 문제는 추가적으로 어떤 것이 있는지 궁금합니다!
-
미해결38군데 합격 비법, 2024 코딩테스트 필수 알고리즘
이 번에 처음으로 알고리즘이라는 걸 공부해보고 있는데
1주차 연습문제를 안보고 풀 정도면 혹시 어느정도 수준일까요..?ㅜㅜ 지금은 너무 어렵긴한데 계속 복습해봐야 할 것 같아서요 흑흑..실제 코테는 이정도 수준으로는 안나오겠죠... 더 어렵게 나오겠죠..?ㅜㅜ
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
visited와 거리의 관련
안녕하세요 큰돌님 열심히 수강중인 학생입니다.이번 강의를 들으면서 조금 이해가 안가는 부분이 생겼습니다.visited는 방문 여부를 나타내기위한 배열인것으로 알고있는데 거리관련 배열을 새로 선언한것보다 visited에 거리를 추가해주는것이 더 편리한거같긴한데 나중에 문제를 풀때도 그냥 통합해서풀어도 문제가 없을까요? 한가지 배열로 두가지 역할을 하다보니 나중에 문제 풀이 중에 문제가 생기지 않을까 걱정되는 마음에 질문 드립니다!
-
해결됨카카오 코테 6주 합격! 실전 파이썬 코딩테스트
1강 연습문제&목표문제 정답지 위치
1강 연습문제&목표문제 정답지 위치가 궁금합니다
-
해결됨38군데 합격 비법, 2024 코딩테스트 필수 알고리즘
스택 - 탑문제
1. 현재 학습 진도3-5 스택부분 수강 2. 어려움을 겪는 부분백준 탑 문제를 강사님께서 구현해주신 코드로 풀어보고 있는데 강사님 코드를 사용하면 시간초과가 나는 것 같습니다.3. 시도해보신 내용 N = int(input()) tops = list(map(int, input().split())) def top_stack(N): result = [0] * N while tops: cur_top = tops.pop() for i in range(len(tops) - 1, -1, -1): if cur_top <= tops[i]: result[len(tops)] = i + 1 break print(' '.join(map(str,result))) top_stack(N)강사님께서 구현해주신 코드에 입력값을 사용자가 지정하게만 바꿔서 백준문제를 풀어보려고 했는데, 시간초과가 납니다. 제가 혹시 코드에 실수한 부분이 있는지 궁금합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
8-F
안녕하세요 큰돌님.큰돌님의 풀이는 왼쪽부터 다이얼을 돌리면서 답을 찾아갑니다.다이얼을 돌리는 시작 위치에 따라 답이 달라질 수 있지 않나요?왼쪽부터 다이얼을 돌려도 답을 구하는데 지장없는 이유를 알고 싶습니다.감사합니다.
-
해결됨코딩테스트 [ ALL IN ONE ]
문제 교재는 따로 없는 거 맞나요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요코테 적용 문제들은 교재에 따로 없이 강의 아래의 리트코드 주소를 통해서 확인하고 푸는 거 맞나요??영어로 되어있어서 질문 올려봅니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
8-S 짝수 / 홀수 방법 질문
안녕하세요 큰돌님.해당 문제의 짝수 홀수 기법에 대해 궁금합니다.다른 간선들이 동일하게 2배로 증가하는 가운데,G , H 사이의 간선만 2배만 증가하고 1씩 빼주는 처리를 하면, 원래 간선의 걸이대로 최단거리를 계산했을 때와 다른 결과가 나올 수도 있지 않나요?
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
채점사이트버튼이안보여요
채점사이트버튼이안보여요
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
8-P 1219 테스트케이스 질문
안녕하세요 큰돌님.테스트케이스 1개가 이해되지 않아 질문드립니다.4 0 3 4 0 1 01 2 02 1 00 3 1010 10 10 10제가 보기엔, 0 -> 1 -> 2 -> 0 방향으로 무한사이클을 돌다가 마지막에 3으로 가서 "Gee"인 것 같은데, 왜 답이 10인지 궁금합니다.
-
미해결자바 코딩테스트 - it 대기업 유제
과일 가져가기 이러한 경우에는 반례가 생기지 않나요?
예외 값 테스트를 해보다가 발견하게 되었는데```System.out.println(T.solution(new int[][]{{2, 4, 7}, {13, 13, 12}})); ```이렇게 테스트를 해보니 14가 나오더라구요.제가 문제를 정확하게 이해하지 못한 것인지, 반례가 있는 것인지 궁금합니다.
-
해결됨38군데 합격 비법, 2024 코딩테스트 필수 알고리즘
3-8 해쉬 관련 다른 풀이도 궁금해요.
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요? 3-8 해쉬-2어떤 알고리즘을 학습하고 계신가요? 해쉬여기까지 이해하신 내용은 무엇인가요? 전체 이해 완료안녕하세요 선생님 궁금한 점이 있어요.HashTable의 경우에도 조회 성능이 최선일 경우 O(1)이고, set 자료구조에 포함되어 있는 지 여부조회도 O(1)로 이해를 했습니다!해당 문제의 경우 set으로 변환하고 풀어도 시간복잡도 면에서 성능은 비슷하다고 봐도 될까요~? def get_absent_student(all_array, present_array): present_students_set = set(present_array) for student in all_array: if student not in present_students_set: return student
주간 인기글
순위 정보를
불러오고 있어요