inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

보물섬 문제 시간복잡도 질문

미해결

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

안녕하세요 강사님. 궁금한게 있습니다. 처음에 이 문제를 풀려고 했을 때, 조합을 떠올렸었습니다. 모든 육지에서 두 육지를 골라서 특정 한 육지에서 다른 육지까지의 최단거리를 구하는 느낌으로요. 그리고 최단 거리의 최댓값을 계속 갱신하는 느낌으로 생각했습니다. 시간 초과가 발생할 거 같다고 생각했고, 실제로 시간 초과가 발생했습니다. 그 이유로 최악의 시간복잡도가 2500C2 * 2500 이어서 그럴까요?

  • 코딩-테스트
  • C++
  • 코테 준비 같이 해요!
체스터 댓글 1 좋아요 0 조회수 393

2-S 질문드립니다

미해결

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

https://www.acmicpc.net/source/54668095 인접행렬로 풀 때 메모리 초과가 나서 변경하였는데 시간초과가 나는 이유를 모르겠습니다.

  • c++
  • 코테 준비 같이 해요!
  • 코딩-테스트
  • C++
상훈 댓글 1 좋아요 0 조회수 254

배열 합치기 다른 방법

미해결

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

안녕하세요 강사님 배열 합치기 문제에서 제가 먼저 풀었을때는 아래와 같이 풀어서 accept가 떴긴 했는데 강사님이 강의해주신 코드와 제 코드 시간 비교를 해보니 10ms 정도 차이가 나더라고요 (제 코드가 조금 더 running time이 깁니다.) 혹시 아래 코드를 코딩테스트에서 사용해도 딱히 무방한가요??? - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. import java.util.*; public class Main { public ArrayList<Integer> solution(int n, int[] arr1, int m, int[] arr2) { ArrayList<Integer> answer = new ArrayList<>(); for (int x : arr1) answer.add(x); for (int x : arr2) answer.add(x); Collections.sort(answer); return answer; } public static void main(String[] args) { Main T = new Main(); Scanner kb = new Scanner(System.in); int n = kb.nextInt(); int[] arr1 = new int[n]; for (int i = 0; i < n; i++) { arr1[i] = kb.nextInt(); } int m = kb.nextInt(); int[] arr2 = new int[m]; for (int i = 0; i < m; i++) { arr2[i] = kb.nextInt(); } for (int x : T.solution(n, arr1, m, arr2)) { System.out.print(x + " "); } } }

  • 코테 준비 같이 해요!
  • 코딩-테스트
  • java
yb__char 댓글 1 좋아요 0 조회수 578

질문드립니다!

미해결

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

미로탐색 코드에서 DFS 함수 내에 int xx, yy 변수를 함수 밖에서 전역변수로 선언하였는데, 답이 다르게 나옵니다. 답이 다르게 나오는 이유를 잘 모르겠습니다.

  • c++
  • 코테 준비 같이 해요!
  • 코딩-테스트
  • C++
Poki 댓글 1 좋아요 0 조회수 457

최소힙 문제를 이분정렬로 풀어보았습니다. 코드 조언 부탁드릴게요!

미해결

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

from collections import deque List = [] List = deque(List) List2 = [] while(True): x = int(input()) if x != 0 and x != -1: m = 0 n = len(List) -1 answer = len(List) if List: while(m <=n): if x <= List[(m+n)//2]: answer = (m+n)//2 n = (m+n)//2 -1 else: m = (m+n)//2 + 1 List.insert(answer, x) else: List.append(x) elif x == 0: if len(List) == 0: List.append(-1) else: List2.append(List.popleft()) else: break for _ in List2: print(_) 정답 출력을 위해 List2 로 정답들을 담았고 pop 시간을 줄이기 위해 deque를 썼습니다. 이렇게 풀어도 괜찮을까요?

  • python
  • 코딩-테스트
  • 코테 준비 같이 해요!
녹조현상 댓글 1 좋아요 0 조회수 365

dev 프로그램 질문

미해결

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

안녕하세요 강의 주행 오늘 시작한 대학생입니다. 아무리 코드를 수정하고 컴파일해도 AA.exe 실행 결과값이 그대로이고 채점도 오류가 나서 알아보다가 결국 제가 default application 으로 파일을 열고 거기서 코드를 수정했다는게 것이 잘못인걸 깨달았습니다. dev c++에서 main.cpp 파일에서 우클릭->open with -> default application. 이렇게 열면 main.exe 가 AA파일에 생성된걸 확인할 수 있었는데 이렇게 여는 기능은 언제 쓰이는지 궁굼합니다.

  • c++
  • 코딩-테스트
  • C++
  • 코테 준비 같이 해요!
먹혀버린 사과 댓글 1 좋아요 0 조회수 289

4 - A 재질문합니다

미해결

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

http://boj.kr/cd6fbe132cfd4b3dbe5e0c746db37b16 실수로 공유를 안눌렀네요 ㅎㅎ.. 질문했던 글 복붙해서 다시 올리겠습니다! ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ 제가 찾아본 모든 반례 체크 다 통과했습니다. 아무래도 사전순 판단하는 로직때문에 틀린 것 같긴한데,, ans 배열과 sel 배열을 비교해서 ans의 요소가 더 크면 break를 해주고 sel의 값으로 바꿔 주었는데 반례가 딱히 떠오르지 않으니까 답답합니다..

  • c++
  • 코딩-테스트
  • C++
  • 코테 준비 같이 해요!
심재욱 댓글 1 좋아요 0 조회수 329

질문

해결됨

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. http://boj.kr/594b7963c3a048d9bd78bb21f1fe88a4 강사님 코드에서 for(auto i : v) 이것 말고는 동일한 것 같은데, 왜 오답일까요..??

  • c++
  • 코딩-테스트
  • C++
  • 코테 준비 같이 해요!
kimseunghwan7777 댓글 1 좋아요 0 조회수 239

코드리뷰 부탁드리겠습니다.

미해결

자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)

function solution(str, list) { let mustWord = str.split(''); // c, b, a let fullWord = list.split(''); while (fullWord.length !== 0) { if (mustWord[mustWord.length-1] === fullWord[fullWord.length-1]) { mustWord.pop(); fullWord.pop(); } else { fullWord.pop(); } } return mustWord.length !== 0 ? "NO" : "YES";

  • javascript
  • 코딩-테스트
  • 코테 준비 같이 해요!
남홍식 댓글 1 좋아요 0 조회수 250

1-D 다른 풀이 질문입니다.

미해결

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

안녕하세요. 아래 코드블럭은 다른 풀이로 푼 코드인데, 이건 통과가 됩니다. 근데 문제는 첨부한 링크의 코드는 왜 통과가 안되는지 모르겠습니다 ㅠㅠ 나름의(?) 성능향상 빼고는 동일한 코드라고 생각이 드는데 뭐가 문제일까요? 통과 #include <bits/stdc++.h> using namespace std; string s; int ret = 1; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> s; for (int i = 0; i < s.size() / 2; i++) { if (s[s.size() - 1 - i] == s[i]) { ret = 1; } else { ret = 0; break; } } cout << ret << '\n'; return 0; } 에러 http://boj.kr/91c918183ef8436187679d76a3e38c96 p.s. 백준에서는 s.size()의 타입 관련한 에러라고 뜨는데… 그게 문제라면 둘다 에러가 나야하는거 아닌가 해서요. (vscode에서 컴파일 에러는 안뜹니다.) 항상 감사합니다.

  • c++
  • 코테 준비 같이 해요!
  • 코딩-테스트
  • C++
댓글 1 좋아요 0 조회수 233

송아지 찾기 문제

해결됨

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

package dfs_and_bfs; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; public class Solution_7 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String positions[] = br.readLine().split(" "); int S = Integer.parseInt(positions[0]); int E = Integer.parseInt(positions[1]); Queue<Integer> queue = new LinkedList<>(); int levels[] = new int[10001]; boolean[] visited = new boolean[10001]; queue.offer(S); levels[S] = 0; visited[S] = true; int[] dis = {1, -1, 5}; while(!queue.isEmpty()) { int pos = queue.poll(); if(pos == E) { System.out.println(levels[pos]); break; }else { for(int i = 0; i < dis.length; i++) { int newPos = pos + dis[i]; if(newPos >=1 && newPos <= 10000 && !visited[newPos]) { queue.add(newPos); levels[newPos] = (levels[pos] + 1); visited[newPos] = true; } } } } } } 혹시 이런 식으로 구현하게 되면 levels 라는 배열이 필요하게 되는데 맞나요? 채점 사이트에서는 맞았다고 나옵니다

  • 코딩-테스트
  • 코테 준비 같이 해요!
  • java
cksg 댓글 1 좋아요 0 조회수 493

4 - A 40%에서 틀리네요..

미해결

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

https://www.acmicpc.net/source/54677521 모든 반례 체크 다 통과했습니다. 아무래도 사전순 판단하는 로직때문에 틀린 것 같긴한데,, ans 배열과 sel 배열을 비교해서 ans의 요소가 더 크면 break를 해주고 sel의 값으로 바꿔 주었는데 반례가 딱히 떠오르지 않으니까 답답합니다..

  • c++
  • 코테 준비 같이 해요!
  • 코딩-테스트
  • C++
심재욱 댓글 1 좋아요 0 조회수 381

런타임 에러가 뜨는 이유가 궁금합니다!

미해결

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

강의를 보기 전에 혼자 고민하고 작성했던 코드입니다. 출력은 잘 나오는데 채점 사이트에서 런타임 에러가 떴는데, 런타임 에러 어떤 상황에서 나오는지 궁금합니다! import java.util.*; public class Main { public int solution(int n, int[][] arr2) { int answer = 0; int sum = 0; // 각 행의 합 for (int i = 0; i < n; i++) { sum = 0; for (int j = 0; j < n; j++) { sum += arr2[i][j]; } answer = Math.max(sum, answer); } // 각 열의 합 for (int i = 0; i < n; i++) { sum = 0; for (int j = 0; j < n; j++) { sum += arr2[j][i]; } answer = Math.max(sum, answer); } // 두 대각선의 합 // 00 -> 11 -> 22 -> 33 -> 44 // 04 -> 13 -> 22 -> 31 -> 40 sum = 0; for (int i = 0; i < n; i++) { sum += arr2[i][i]; } answer = Math.max(sum, answer); sum = 0; for (int i = 0; i < n; i++) { sum += arr2[i][n-i-1]; } answer = Math.max(sum, answer); return answer; } public static void main(String[] args) { Main T = new Main(); Scanner kb = new Scanner(System.in); int n = kb.nextInt(); int[][] arr = new int[5][5]; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { arr[i][j] = kb.nextInt(); } } System.out.println(T.solution(n, arr)); } }

  • java
  • 코딩-테스트
  • 코테 준비 같이 해요!
황철원 댓글 1 좋아요 0 조회수 894

강의자료

해결됨

IT 기업 취업을 위한: 코딩테스트 혼자서 정복하기 (C/C++)

안녕하세요. 제가 못 찾은 것일 수도 있지만 '그래프와 탐색 알고리즘' 부분의 강의자료가 보이지 않아서 혹시 업로드해 주실 수 있는지 문의드립니다.

  • c
  • 코딩-테스트
  • 코테 준비 같이 해요!
esybd02 댓글 1 좋아요 0 조회수 1213

2-S 문제(1325)

미해결

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

define CRT SECURE_NO_WARNINGS #include <iostream> #include <vector> #include <algorithm> #include <queue> #include <tuple> #include <string> #include <map> #include <stack> using namespace std; vector<int> adj[100001]; int visited[100001]; int n, m, cnt, ret = 1; int a, b; void dfs(int node) { visited[node] = 1; for (int i = 0; i < adj[node].size(); i++) { if (!visited[adj[node][i]]) { cnt++; dfs(adj[node][i]); } } } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> n >> m; for (int i = 0; i < m; i++) { cin >> a >> b; adj[b].push_back(a); } for (int i = 1; i <= n; i++) { fill(&visited[0], &visited[0] + 100001, 0); cnt = 0; dfs(i); ret = max(ret, cnt); } for (int i = 1; i <= n; i++) { fill(&visited[0], &visited[0] + 100001, 0); cnt = 0; dfs(i); if (cnt == ret) cout << i << " "; } return 0; } 다음과 같이 코드를 작성하였는데 계속 시간초과가 뜨고 인접행렬로 풀면 메모리 초과가 나서 변경하였는데 추가로 어떻게 수정해야될지 모르겠습니다 ㅠㅠㅠ visual studio에서는 cnt출력 및 i 를 출력했을 때 결과는 맞게 나옵니다

  • c++
  • 코딩-테스트
  • C++
  • 코테 준비 같이 해요!
상훈 댓글 1 좋아요 0 조회수 228

연구소 문제 시간 관련 질문

미해결

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

http://boj.kr/ebc33dce3e394b7099e34b3f523cb5f1 안녕하세요 강사님. 예전에 메일로 다른 언어로 코딩 테스트 준비한다 했던 학생입니다. 저는 연구소 문제를 풀 때, 따로 virusList, wallList를 만들지 않았습니다. 이러한 문제를 풀 때, 이렇게 따로 값을 저장하는 배열을 만들어야 할까요?

  • 코딩-테스트
  • C++
  • 코테 준비 같이 해요!
체스터 댓글 2 좋아요 0 조회수 404

6-J 놀이공원 문제 질문 - 코드 공유 수정

미해결

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

안녕하세요 큰돌님 강의 잘 보고 있습니다!!! 이번 문제에서 큰돌님께서는 #define으로 max_n을 지정해 hi 값에 대입하여 푸셨는데 저는 hi값을 그냥 1e18로 잡아서 풀어서 실패했습니다. 그 이유를 알 수 있을까요? 입력한 코드 공유합니다. 실패 코드 http://boj.kr/6a95263b74234ed781efcb7fa7ee663a

  • c++
  • 코딩-테스트
  • C++
  • 코테 준비 같이 해요!
김태윤 댓글 1 좋아요 0 조회수 717

질문

해결됨

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. http://boj.kr/116963f4a7af4f4ab1d334adfa0b39cc 위의 코드는 제가 작성한 코드입니다..

  • c++
  • 코딩-테스트
  • C++
  • 코테 준비 같이 해요!
kimseunghwan7777 댓글 2 좋아요 0 조회수 346

교육과정설계 질문 드립니다

미해결

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

import sys from collections import deque sys.stdin = open("input.txt", 'r') e = input() n = int(input()) for i in range(1,n+1): cur = deque(input()) cnt = 0 idx = 0 while cur and idx <len(e): cur_pop = cur.popleft() if cur_pop == e[idx]: cnt += 1 idx += 1 if cnt == len(e): print("#%d YES" %i) else: print("#%d NO" %i) 이렇게 코드 작성했더니 다른 case에 대해서는 다 맞지만 case2에 대해서 틀린 답이 나옵니다. 어디가 잘못된 걸까요?

  • 코테 준비 같이 해요!
  • 코딩-테스트
  • python
jilong1004 댓글 1 좋아요 0 조회수 278

문제가 이해가 안되요

해결됨

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

스크린 56 46 55 76 65 53 52 53 55 50 56이 가장 앞자리에 앉아 잇는 사람입니다. 76만나기 전에는 모두를 가립니다. 76부터는 모두를 가립니다. 56,76이 분노 유발자 아닌가요?

  • c++
  • 코딩-테스트
  • 코테 준비 같이 해요!
  • C++
콩팥팥죽 댓글 1 좋아요 0 조회수 396

인기 태그

인프런 TOP Writers

주간 인기글