inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

맥북 m1 세팅 질문드립니다.

미해결

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

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 오류가 뜨면 다음과 같이 진행하라고 하셨는데 정확하게 어디에 a.cpp를 삽입해야하는지 이해가 잘 되지 않습니다. 해당 경로로 이동 후 파일을 만들면 되는걸까요? (mkdir a.cpp)

  • c++
  • 코딩-테스트
lahat 댓글 1 좋아요 0 조회수 229

제가 공부한 내용을 블로그에 기록하고 싶습니다.

미해결

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

안녕하세요 선생님. 제가 요즘 공부하는 것을 블로그(velog)에 기록하고 있는데 블로그 공유 관련 글을 찾아보니까 문제를 통으로 올리는 건 불가능하지만 소스코드를 올리는 건 괜찮다고 답변해 주신것을 보았습니다. 저 또한 문제를 올리지는 않고 문제 대충 설명한 후에 소스코드의 대한 해석을 기록하고자 하는데 괜찮을까요?

  • java
  • 코딩-테스트
도널드 트럼프 댓글 1 좋아요 0 조회수 491

1-L 질문

미해결

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

저는 Combination을 썼을때 이중 반복문을 사용해야되니까 시간복잡도가 클거라 생각해서 two sum 을 재귀함수를 통해 구현해서 문제를 풀었습니다. 백준에 문제를 제출했을때 8ms 가 나오긴했는데 일반적으로 어떤 방법이 더 효율적인지 여쭤보고 싶습니다.

  • c++
  • 코딩-테스트
TaeSeok Ma 댓글 1 좋아요 0 조회수 278

9:20초 쯤 나오는 init은 클래스안에서 공통으로 쓰이는 건가요?

미해결

[입문편] 안드로이드를 위한 코틀린(Kotlin) 문법

안녕하세요 복치님! 왕초보 강의듣고 기본기를 쌓고싶어서 입문강의도 듣고 있습니다 initTest()안에 init은 클래스를 실행하면 무조건 실행되는 함수인건가요? 그리고 init이라는 함수가 실행 순서상 우선적으로 실행되는건지도 궁금합니다

  • kotlin
  • 코딩-테스트
휘리릭 댓글 1 좋아요 0 조회수 311

[2468번] segmentation fault

미해결

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

// Online C++ compiler to run C++ program online #include <bits/stdc++.h> using namespace std; // 많은 비가 내렸을 때 물에 잠기지 않는 안전한 영역이 최대로 몇 개가 만들어 지는 지를 조사하려고 한다. 이때, 문제를 간단하게 하기 위하여, 장마철에 내리는 비의 양에 따라 일정한 높이 이하의 모든 지점은 물에 잠긴다고 가정한다. // 어떤 지역의 높이 정보가 주어졌을 때, 장마철에 물에 잠기지 않는 안전한 영역의 최대 개수를 계산하는 프로그램을 작성하시오. ////입력 : // 1. 첫째 줄에는 어떤 지역을 나타내는 2차원 배열의 행과 열의 개수를 나타내는 수 N (N은 2 이상 100 이하의 정수) // 2. 둘째 줄부터 N개의 각 줄에는 2차원 배열의 첫 번째 행부터 N번째 행까지 순서대로 한 행씩 높이 정보가 입력된다. // 3. 높이는 1이상 100 이하의 정수이다. ////출력 : //첫째 줄에 장마철에 물에 잠기지 않는 안전한 영역의 최대 개수를 출력한다. int n; int arr[100][100]; int visited[100][100]; int dx[4] = {0,0,1,-1}; int dy[4] = {1,-1,0,0}; priority_queue<int> safeAreas; void dfs(int y, int x, int height){ //방문처리 visited[y][x] = true; //4방향 탐색 for(int i=0; i<4; i++){ int nx = x + dx[i]; int ny = y + dy[i]; //탐색 x 조건 if( y < 0 || x < 0 || y >= n || x >= n ) continue; // out of bound if( visited[ny][nx] ) continue; if( arr[ny][nx] <= height ) continue; //물에 잠긴 지역 // 방문 dfs(ny,nx,height); } } // find connected graphs int getSafeAreaCnt(int height){ memset(visited, 0, sizeof(visited)); int connected = 0; for(int i=0; i<n; i++){ for(int j=0; j<n; j++){ if(!visited[j][i] && arr[j][i] > height ){// 방문하지 않았고, safe area dfs(j,i, height); connected++; } } } return connected; } int main() { //입력 cin >> n; string input; int maxHeight=0; for(int i=0; i<n; i++){ for(int j=0; j<n; j++){ cin >> arr[j][i]; maxHeight = max( maxHeight , arr[j][i] ); // 1. 높이의 max 값을 구한다. } } for(int height=0; height <= maxHeight; height++){ safeAreas.push( getSafeAreaCnt( height ) ); } cout << safeAreas.top() << '\n'; } https://www.acmicpc.net/problem/2468 안녕하세요 큰돌님. segmentation fault 나는데 어디서 나는지 잘 모르겠습니다 ㅠ priority queue 때문인 거 같은데 한 번 더 확인 해보겠습니다.

  • c++
  • 코딩-테스트
euijae.lee0714 댓글 1 좋아요 0 조회수 203

투포인터스 알고리즘으로 푸는 방법이 제가 이해한게 맞을까요?

미해결

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

제가 이해한 걸로는 두개의 포인터 변수를 이용하여서 반복문을 하나를 가지고 문제를 푸는거라고 이해를 해서 아래와 같이 하나의 반복문으로 풀려고 노력했는데 해당 알고리즘이 제가 이해한 이론이 맞나요? function solution(arr1, arr2) { let answer = []; let sorArr1 = arr1.sort((a, b) => a - b); let sortArr2 = arr2.sort((a, b) => a - b); let n = sorArr1.length; let m = sortArr2.length; let p1 = (p2 = 0); while (p1 < n) { if (sorArr1[p1] === sortArr2[p2]) { answer.push(sorArr1[p1]); } p2++; if (p2 === m - 1) { p1++; p2 = 0; } } return answer; } console.log(solution([1, 3, 9, 5, 2], [3, 2, 5, 7, 8])); 정답은 잘 나옵니다만... 핵심이 두개의 포인터 변수와 하나의 반복문만 사용한다 라고 기억 할려고 하는데 이게 맞을지...

  • javascript
  • 코딩-테스트
rhkdtjd_12 댓글 1 좋아요 0 조회수 230

시간초과

미해결

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

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 큰돌쌤! 현재 알고리즘을 공부하고 있는 학생입니다. 이 문제에서 ios_base::sync_with_stdio(false);cin.tie(NULL); cout.tie(NULL) '\n' 을 쓰지 않으면 시간초과가 나던데 이런거에 집중하는 거보다 이런 아이디어만 챙겨가면 되겠죠...? 몇몇 문제들이 이런 경우가 있던데 어떻게 공부하면 좋을지 조언을 받으려 게시판에 올립니다!

  • c++
  • 코딩-테스트
장재현 댓글 1 좋아요 0 조회수 339

concat과 sort로 풀었는데 맞는지 모르겠네요

미해결

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

function solution(arr1, arr2) { let answer = ""; return arr1.concat(arr2).sort((a, b) => a - b); } console.log(solution([1, 3, 5], [2, 3, 6, 7, 9]));

  • javascript
  • 코딩-테스트
rhkdtjd_12 댓글 1 좋아요 0 조회수 328

3-I 17071번 숨바꼭질 5 질문있습니다.

미해결

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

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 큰돌님, 3-I 해설을 보다가 이해가 안가는것이 있어 질문드립니다. 수빈이가 3초에 도착하고 동생이 5초에 도착하면 +1,-1 로 만날수 있다 하셨는데 해당 코드에서 어떻게 구현된건지 이해가 안갑니다. turn이 시간이고 홀수짝수로 visited에 도착한 시간을 나누는데 turn이 3이면 visited[1][수빈이 위치]에 저장이 되고 nx==b에 의해 바로 break 걸려 출력이 되는것 아닌가요...? 이해가 안가 횡설수설 죄송합니다.

  • c++
  • 코딩-테스트
큐펀치 댓글 1 좋아요 0 조회수 280

코드리뷰 부탁드립니다

미해결

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

<html> <head> <meta charset="UTF-8" /> <title>출력결과</title> </head> <body> <script> function solution(board, moves) { let answer = 0; let stack = []; for (let j = 0; j < moves.length; j++) { stack.push(board[moves[j] - 1].pop()); if (stack[stack.length - 1] === 0) { stack.pop(); } if ( stack.length >= 2 && stack[stack.length - 1] === stack[stack.length - 2] ) { stack.pop(); stack.pop(); answer += 2; } } return answer; } let a = [ [0, 0, 0, 0, 0], [0, 0, 1, 0, 3], [0, 2, 5, 0, 1], [4, 2, 4, 4, 2], [3, 5, 1, 3, 1], ]; let b = [1, 5, 3, 5, 1, 2, 1, 4]; console.log(solution(a, b)); </script> </body> </html>

  • javascript
  • 코딩-테스트
손성오 댓글 1 좋아요 0 조회수 249

1-J 다른 풀이 방법 질문드립니다.

미해결

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

제가 처음에 접근했던 방법은 옷의 개수가 3가지라면 3C0 + 3C1 + 3C2 + 3C3으로 입을 수 있는 모든 경우의 수를 구한 후, 같은 종류의 옷을 입은 경우의 수를 구해 빼는 방식이였는데void combi(int start, vector b){ if(b.size() == k){ print(b); return; } for(int i = start + 1; i < n; i++){ b.push_back(i); combi(i, b); b.pop_back(); } return; }이 함수를 사용해서 map<string,string>mp을 선언하고 옷의 이름과 종류 모두 입력 받아서 같은 종류의 옷을 입은 경우를 판별하여 구할 수는 없는지 여쭤보고 싶습니다.

  • c++
  • 코딩-테스트
강민석 댓글 1 좋아요 0 조회수 303

제약조건으로 시간 복잡도를 구하는 방법..

해결됨

코딩테스트 [ ALL IN ONE ]

안녕하세요. 코테 제약조건으로 시간 복잡도 계산하는 부분을 듣고 있는데요. 10^4에 n^2을 넣으면 10^8이 된다고 하셨는데 제가 예체능 수포자여서 이 계산 방법이 잘 이해가 안됩니다. ㅠㅋ 용어가 맞는지 모르겠지만... BigO로 표기했을 때의 시간 복잡도의 지수와 제한 사항으로 주어진 지수끼리의 곱이 시간 초과 때문에 8이 넘으면 안된다고 이해하면 되는건가요? 이렇게 구하는 게 맞는지... 그리고 제약 조건에서 n을 구할 때 연산자 사이에 있는 조건이 n이 되는 것이고 그 n이 1이 되는지, n^2이 되는지에 따라 시간 복잡도를 따지는 건가요? 시간 복잡도를 중첩 반복문으로 계산하는 정도만 공부를 해서 잘 이해가 안됩니다. ㅠㅠ

  • python
  • 코딩-테스트
  • 알고리즘
우주사막 댓글 2 좋아요 1 조회수 607

6 - F

미해결

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

http://boj.kr/798b9379c3254770abccef965fd8ee87 몬스터 때리는 부분을 제외하면 작성해주신 정답 코드랑 유사해보이는데 어디가 잘못됐는지 잘 모르겠습니다.

  • c++
  • 코딩-테스트
김지환 댓글 1 좋아요 0 조회수 131

2-H 질문있습니다

해결됨

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

if(isVowel(idx)) mcnt++, scnt = 0, is_include_v = 1; else scnt++, mcnt = 0; if(mcnt == 3 || scnt == 3) flag = 1; 이 부분이 제가 이해하고 있는 것이 맞는지 궁금합니다. 예제 입력에 ptoui를 예를 들어보겠습니다. for문에서 ptoui라는 문자열을 알파벳 하나하나 받아주면서 p -> vcnt++, lcnt = 0 => vcnt = 1, lcnt = 0 t -> vcnt++, lcnt = 0 => vcnt = 2, lcnt = 0 o -> lcnt++, vcnt = 0 => vcnt = 0, lcnt = 1 u -> lcnt++, vcnt = 0 => vcnt = 0, lcnt = 2 i -> lcnt++, vcnt = 0 => vcnt = 0, lcnt = 3 다음 if문에서 lcnt == 3이므로 flag = 1이 되고, flag = 1일 때는 not acceptable 출력. 이게 맞나요???

  • c++
  • 코딩-테스트
SpRingLJM 댓글 1 좋아요 0 조회수 157

배열 대신 벡터 사용 해도 괜찮나요?

미해결

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

int cnt[26]; 대신에 vector <int> answer (26); 를 사용했는데 어떤 문제 이든지 배열 대신 벡터를 사용 했을 때 문제될 여지가 있을까요?

  • c++
  • 코딩-테스트
석찬휘 댓글 1 좋아요 0 조회수 247

4-F 질문입니다.

미해결

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

http://boj.kr/ffa390ab1d0145a8a863f6733fdf21f0 k가 주어졌을 때, a n t i c은 무조건 배워야하니까 21개 중 k-5개를 뽑는 경우의 수에서 기저사례에서 최댓값을 갱신하는 방법으로 코드를 짰는데요..제 코드 시간 복잡도를 계산해보면 21C(k-5)*50*15로 계산했습니다(50은 단어의 최대개수,15는 k의 최대 범위). 궁금한 점은 1.저의 코드의 시간복잡도 계산을 저렇게 하는게 맞는지 2. 왜 시간초과가 나는지 모르겠습니다.

  • c++
  • 코딩-테스트
kkh185924 댓글 2 좋아요 0 조회수 203

강의교재126 int형 우선순위큐

미해결

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

while(pq.size()){ cout << pq.top () << " : " << pq2.top () << " : " << pq3.top () << '\n'; pq.pop(); pq2.pop(); pq3.pop(); } 이코드에서 궁금한것이 있는데요 pq.size()는 5이고 참이니깐 while문 안에있는 조건은 계속 돌아가서 무한루프가 되는게 아닌가요? 그리고 코드마지막에 있는 pq.pop(); pq2.pop(); pq3.pop(); 는 왜 한번씩 더 써주는건가요? 위에 있는 코드로도 충분하지 않나요?

  • c++
  • 코딩-테스트
김우진 댓글 1 좋아요 0 조회수 223

공주 구하기 문제 풀이 시간 복잡도 질문

미해결

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

안녕하세요 제가 푼 코드와 강의의 풀이가 차이가 있어서 질문 드립니다. 저는 아래와 같이 문제를 풀어 봤는데요. 강의와 제 풀이의 시간 복잡도가 어떻게 되는건지 궁금합니다. 제 풀이는 while문이 하나 있으니 O(n)으로 표시하면 되는 것일까요? 강의 풀이는 while문 안에 for문이 있는데 그럼 O(n^2) 인건가요? 아니면 K를 상수로 보고 O(n) 이라고 생각하면 되는 걸까요.. public int solution(int n, int k) { int answer = 0; Queue<Integer> queue = new LinkedList<>(); for (int i = 1; i <= n; i++) { queue.add(i); } int cnt = 1; while (queue.size() > 0) { if (cnt == k) { answer = queue.poll(); cnt = 1; } else { queue.add(queue.poll()); cnt++; } } return answer; } 두 코드 중 어떤 것이 더 효율적인 코드인지 궁금합니다. 실행 시간을 비교해서 더 짧게 나오는 것이 효율적인 코드라고 봐도 되는 걸까요?

  • java
  • 코딩-테스트
현지원 댓글 1 좋아요 0 조회수 238

강의 교재 부탁드려요

해결됨

코딩테스트 [ ALL IN ONE ]

안녕하세요. 강의 너무 잘 보고 있습니다. 교재 공유 요청 했는데 확인 한번 부탁드리겠습니다~! 구글폼에 접수한 메일에는 아무것도 안와있어서요.

  • python
  • 코딩-테스트
  • 알고리즘
mush 댓글 1 좋아요 0 조회수 307

바둑이 승차 질문입니다!

미해결

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

package other.study; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; import static java.lang.Integer.MIN_VALUE; import static java.lang.Math.max; import static java.lang.System.in; // todo: 해결 필요!! public class Main3 { static int[] ch = new int[100000000]; static int c, n, answer = MIN_VALUE; public static void main(String[] args) { Scanner kb = new Scanner(in); c = kb.nextInt(); n = kb.nextInt(); ch = new int[n]; int[] arr = new int[n + 1]; for (int i = 0; i < n; i++) { arr[i] = kb.nextInt(); } // DFS(0, 0, arr); BFS(0, arr); System.out.println("answer = " + answer); } static void DFS(int L, int sum, int[] arr) { if (sum > c) return; if (L == n) { answer = max(answer, sum); } else { DFS(L + 1, sum + arr[L], arr); DFS(L + 1, sum, arr); } } static void BFS(int L, int[] arr) { Queue<Node> Q = new LinkedList<>(); Q.offer(new Node(0, arr[0])); while (!Q.isEmpty()) { int len = Q.size(); for (int i = 0; i < len; i++) { Node tmp = Q.poll(); if (tmp.weight > c) continue; if (L == n) { answer = max(answer, tmp.weight); } else { Q.offer(new Node(tmp.level + 1, tmp.weight + arr[tmp.level + 1])); Q.offer(new Node(tmp.level + 1, tmp.weight)); } } System.out.println(); L++; } } static class Node { private int level, weight; public Node(int level, int weight) { this.level = level; this.weight = weight; } } } 안녕하세요 선생님! 명품 강의 정말 잘 듣고 있어요! 바둑이 승차를 BFS로도 풀어봤는데, 문제되는 부분이 있을까해서 질문 드립니다! 늦었지만 새해 복 많이 받으세요!

  • java
  • 코딩-테스트
seon 댓글 1 좋아요 0 조회수 184

인기 태그

인프런 TOP Writers

주간 인기글