묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
자기자신을 추가해도 문제가 없는거같아 질문드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.여기에서 public static void main(String[] args) { Scanner in = new Scanner(System.in); String input1 = in.nextLine(); Integer size = Integer.valueOf(input1); int[][] input2 = new int[Integer.valueOf(input1) ][Integer.valueOf(input1) ]; for (int i = 0; i < Integer.valueOf(input1); i++) { String[] temp = in.nextLine().split(" "); for (int j = 0; j < temp.length; j++) { input2[i ][j] = Integer.valueOf(temp[j]); } } int[] count = new int[size]; // 학생 번호 -> [V][] // 학년 -> [][V] // 자기자신 번호를 추가해도 문제X for (int i = 0; i < size; i++) { boolean[] matched = new boolean[size]; // 학년 for (int j = 0; j < size; j++) { int now = input2[i][j]; // 학생 for (int k = 0; k < size; k++) { int another = input2[k][j]; if (now == another){ matched[k] = true; } } } int matchedCount = 0; for (int j = 0; j < size; j++) { if (matched[j]){ matchedCount++; } } count[i] = matchedCount; } int max = 0; int maxStu = 0; for (int i = 0; i < size; i++) { if (count[i] > max){ maxStu = i; } } System.out.println(maxStu); }어차피 자기자신은 항상 포함되어 기본값이 1이게될텐데,boolean[] matched = new boolean[size]; 에서 체크하는걸로 처리하였습니다.이접근법이 틀린이유를 모르겠습니다.1. 자기자신을 같이처리 (기본카운트는 항상 1부터)2. 리스트에 매치된 학생들을 계산 후 마지막에 더함
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-M 시간초과
제가 처음 코드를 작성했을 때이렇게 작성했는데 시간초과가 났습니다. 여기서 처음 cnt를 1로 설정하고 N이 됐을때 break를 걸었습니다. 근데 여기서 선생님이 했던 방식으로 cnt를 N으로 설정하고 0이 될때 멈추니 시간초과가 안났습니다. 이게 바꾼 코드입니다. 왜 +/- 가 시간차이가 나는건가요? 동일한 방식인데 이해가 안갑니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
빈도정렬 코드 질문있습니다
http://boj.kr/9cd107f1e26541b9b11c0840518d53a7큰돌님 강의를 듣고 며칠 지나서 복습 삼아서 혼자 작성했는데 좀 다르지만 통과했습니다. 혹시 가독성이나 효율 이런 측면에서 안 좋은 코드인지 궁금해서 질문드립니다 ..!
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
1987번 관련 질문입니다.
1987번 제 풀이가 선생님의 리스트 풀이와 비슷하다고 생각해서 제출을 해봤는데 시간 초과가 나는 것 같습니다. 이상하다고 생각해서 선생님께서 작성해주신 예시코드도 복붙해봤는데 똑같이 시간 초과가 나는 것 같아서요... 혹시 뭐가 문제일까요? 컴퓨터마다 시간이 달라서 그런걸까요?
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
3085번 사탕 게임에서 제 풀이가 왜 틀린걸로 처리되는지 잘 모르겠습니다.
안녕하세요 선생님. 백준 3085번 풀이2와 제 풀이가 비슷한 것 같은데 제 풀이는 틀린 것으로 나오는데 어떤 부분이 잘못됐는지 잘 모르겠습니다. 제가 어떤 부분을 놓치고 있는지 알려주시면 감사하겠습니다!import sys from itertools import combinations def input(): return sys.stdin.readline().rstrip() def get_max(i,j): global data, n ser1 = data[i] ser2 = [data[k][j] for k in range(n)] return max(count_max(ser1), count_max(ser2)) def count_max(ser): count = 0 bef = '.' for idx in range(len(ser)): if bef != ser[idx]: count = 1 else: count += 1 bef = ser[idx] return count n = int(input()) data = [] for _ in range(n): data.append(list(input())) dx = [0,1,-1,0] dy = [1,0,0,-1] cur_max = 0 for i in range(n): for j in range(n): if i == j: cur_max = max(cur_max, get_max(i, j)) for di, dj in zip(dx,dy): ni = i + di nj = j + dj if not ((0 <= ni < n) & (0 <= nj < n)): continue if (data[ni][nj] == data[i][j]): continue data[i][j], data[ni][nj] = data[ni][nj], data[i][j] cur_max = max(cur_max, get_max(i, j)) data[i][j], data[ni][nj] = data[ni][nj], data[i][j] print(cur_max)
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-C 시간복잡도, 반복문 횟수 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.for(int k= 1; k<= 100; k++) { for(int i= 0; i< N; i++) { for(int j= 0; j< N; j++) { if(a[i][j]<= k) { b[i][j]= 1; } } } } 높이를 1부터 쭉 돌면 시간복잡도가 커져서 선뜻 코딩 하기를 주저했는데 문제에서 주어진 범위가 작고, 모든 반복문을 돌아도 1억회보다 작은 1,000,000회여서 위와 같이 짜도 상관 없다. 이렇게 이해하면 맞는 이해인가요
-
해결됨김영한의 실전 자바 - 중급 2편
영한 강사님! 타입 이레이저 방식의 한계 부분 질문
제네릭 타입 이레이저 PDF 기준 30p 부분인데 컴파일 이후에는 제네릭 타입 정보가 존재하지 않기 때문에instanceof나 new를 허용하지 않는다는건 잘 이해를 했습니다. 근데 밑에 코드를 보면 public void create() 부분이 일단은public void create() {return new T();} 이 부분이public T create() {return new T();}로 되어야하는거 아닌가요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-M 벡터 사이즈 체크하면 오류 발생하는 이유
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요저는 벡터로 고민해서 풀었는데 강의 보고 수정해서 아래와 같이 정답을 얻었습니다.http://boj.kr/cf7d8a2646b44ded93eead10652c3faa 기존 제 코드랑 비교하니 이 부분이 문제 였는데요else if(s1.size()>2) break;http://boj.kr/7069ece2a56f46f49d7a764d5457677f 단어는 어차피 A와 B로만 이루어져있고 같은 단어가 들어오면 pop해서 사이즈가 줄어들어 사이즈가 2가 넘을 이유는 없다고 생각하여 넣은 코드입니다. 1개차이로 다른 단어가 들어오면 좋은단어 조건이 안되니까 사이즈 체크한건데 왜 오류가 발생할까요? (예를들어 ABA인 경우같이 B다음 1개차이로 A가 들어오는 경우) 저는 저 코드를 넣지 않으면 ABAAAAAAAAAAAAA와 같은 경우 불필요하게 끝까지 확인해야하니까... 필요한 부분이라고 생각했는데 어떤 부분을 잘못 생각한건지 알려주실 수 있을까요?
-
미해결김영한의 실전 자바 - 중급 2편
제네릭 타입 이레이저 오타인가요?
제네릭 타입 이레이저 PDF 기준 30p 부분인데 컴파일 부분에서 제네릭 타입 정보가 존재하지 않기 때문에instanceof나 new를 허용하지 않는다는건 잘 이해를 했습니다. 근데 밑에 코드를 보면 public void create() 부분이 일단은public void <T> T create() {} 로 되어야하는게 아닌가요?
-
미해결Do it! 알고리즘 코딩테스트 with JAVA
탐색 순서 질문
영상에서 탐색 순서가1 > 3 > 4 > 6 > 2 > 5 로 되어있는데왜 5 > 2 가 아닌 2 > 5가 되는지 궁금합니다. 진행 되는 순서가 노드를 넣고 > 노드를 꺼내고가 맞지 않나요? 아님 2 > 5로 되어도 상관 없는건가요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-J 질문있습니다.
큐 자료형을 pair로 풀긴했는데 https://www.acmicpc.net/submit/14497/86181387 계속 메모리 초과가 나는데 이유를 모르겠습니다..https://www.acmicpc.net/submit/14497/86181412 큐 자료형을 바꿔도 똑같이 메모리 초과가 왜 나는 건가요??
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3 - L 시간초과 질문있습니다.
안녕하세요. 백트레킹&원상복귀 적용하고 레퍼런스 매개변수로 넘겨주고 unorded_set으로 O(1)까지 적용했는데 시간초과가 나오네요... 제가 어느부분을 놓쳤을까요...?http://boj.kr/afa0abf888d948f59eefb9a57dd4e07e감사합니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-I 2870번 런타임 에러 ㅠㅠ
테스트 케이스 실행해보면 전부 정상적으로 작동하는데, 왜 백준에 돌리기만 하면런타임 에러(out_of_range)가 나는지 잘 모르겠네요 ㅜ 계속 봤는데 도저히 모르겠어서 질문합니다.... 분명 int가 아니라 string으로 수정했는데, stoi를 사용하는 과정에서 난건가 싶기도 하고.. 도움 부탁드립니다... http://boj.kr/279c631f1e74406ca3551d6f7c15ed41
-
해결됨김영한의 실전 자바 - 중급 2편
pdf파일 표 질문이요(저만 안보이는건지?)
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 8번째 pdf파일 set의 주요 메서드 설명을(3page) 보고 있는 도중에, 글씨가 안 보이는 부분이 있어서 여쭤 봅니다.pdf파일로 열어서 보고 있는데 표 끝부분이 정확히 안나와서, 저만 그런건지 알고 싶어서 질문을 올립니다.혹 저만 그런 건가요? 아니면 다들 똑같은신지요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3 - K 맞왜틀 질문있습니다.
안녕하세요. 테스트 케이스는 다 맞는데, 2%에서 틀렸다고 나오는데 반례를 도저히 못찾겠습니다. http://boj.kr/c07d7c93a74e4b59a390b29486c781af 감사합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
코딩테스트 관련 질문이 있습니다.
실제 코딩테스트 상황에서 프로그래머스를 이용한다면 문제에 나온 예제 말고 보이지 않는 예제들이 통과된다면 다 맞앗다고 생각하면 될까요?다 통과되었는데 알고보니 회사측만 알수있는 테스트 케이스들이 더 있을수도있나요?
-
해결됨[파이썬/Python] 문과생도 이해하는 DFS 알고리즘! - 입문편
다른 주제 강의
안녕하세요!! 먼저 좋은 강의 너무 감사드립니다 이해가 너무 잘돼요 ㅜㅜ전에 글중에서 올해 하반기에 다른주제 강의들도 올리실 계획 있다고 본 것 같은데 (DP, BFS 등등) 혹시 구체적인 일정 나온게 있나요? 나오면 꼭 결제하고 싶습니다! 감사합니다^-^
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-C 질문
안녕하세요. 7-C 1103을 풀어봤는데 예제는 다 맞는 것 같은데 왜 틀린지 모르겠어서 질문드립니다. 감사합니다.http://boj.kr/f0e77f6d4de04f718e138d2c9337442e
-
해결됨[자바/Java] 문과생도 이해하는 DFS 알고리즘! - 입문편
최근에 올린 질문, 코드블럭으로 공유드립니다!
import java.util.*; public class Main { static int N, M, R; static int[] answer; static ArrayList<Integer>[] graph; static boolean[] visited; static int order = 1; public static void dfs(int idx) { visited[idx] = true; answer[order] = idx; order++; for(int i = 0; i < graph[idx].size(); i++) { if(!visited[graph[idx].get(i)]) dfs(graph[idx].get(i)); } } public static void main(String[] args) { Scanner input = new Scanner(System.in); N = input.nextInt(); M = input.nextInt(); R = input.nextInt(); answer = new int[N+1]; visited = new boolean[N+1]; graph = new ArrayList[N+1]; for(int i = 1; i <= N; i++) { graph[i] = new ArrayList<>(); } for(int i = 0; i < M; i++) { int x = input.nextInt(); int y = input.nextInt(); graph[x].add(y); graph[y].add(x); } for(int i = 1; i < graph.length; i++) { Collections.sort(graph[i], Collections.reverseOrder()); } dfs(R); for(int i = 1; i < answer.length; i++) { System.out.println(answer[i]); } } }이렇게 구현한 경우, 틀렸다고 나오는데,ide로 돌리고 출력해보면14320으로 정상 출력되는데.. 이유를 모르겠습니다ㅠㅠ!선생님이 작성해주신 코드answer[idx] = order; order++; 제가 작성한 코드answer[order] = idx; order++;이렇게해도, 제가 하나씩 디버깅해서 따라가보면, 정답과 맞게 나오는데, 틀렸다고합니다.. !
-
해결됨[자바/Java] 문과생도 이해하는 DFS 알고리즘! - 입문편
질문이 있습니다. dfs 메서드에 order를 이렇게 구현하면 안되는 이유가 무엇인가요?
이렇게 구현한 경우, 틀렸다고 나오는데,ide로 돌리고 출력해보면14320으로 정상 출력되는데.. 이유를 모르겠습니다ㅠㅠ!