묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
궁금한점있습니다.
안녕하세요. 강사님재귀함수로 구현을 할 때 아래 코드에서 어떤 코드를 추가해야지 원소를 나열 할 수 있을까요? public class Main{ public int solution(int n){ if(n < 3){ return 1; } return solution(n - 2) + solution(n - 1); } public static void main(String[] args) { MainT = new Main(); int n = 10; System.out.println(T.solution(n)); } }
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-F 시간복잡도 O(2^26) 이면 풀려야 하는 것 아닌가요? ㅠㅠ
자바가 느려서인지, 아니면 제가 첨부터 접근을 잘못한건지 모르겠습니다. ㅠㅠpackage lecture4; import java.util.*; public class Prob1062 { static List<Set<Character>> sets = new ArrayList<>(); public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int k = sc.nextInt(); if(k<5){ System.out.println(0); return; }else if (k==26){ System.out.println(n); return; } List<String> list = new ArrayList<>(); for (int i = 0; i < n; i++) { // 문자열 입력 받기 String str = sc.next(); list.add(str); Set<Character> set = new HashSet<>(); // 각 문자열의 문자들을 Set에 저장. for (char c : str.toCharArray()) { set.add(c); } sets.add(set); } List<Set<Character>> filtered = new ArrayList<>(); for (int i = 0; i < n; i++) { // K 보다 많은 알파벳으로 이루어진 경우 제외 if(sets.get(i).size()<=k){ filtered.add(sets.get(i)); } } List<Integer> masks = new ArrayList<>(); for (Set<Character> set : filtered) { // Set의 각 알파벳을 대응되는 비트마스크로 표현 masks.add(setToMask(set)); } int mask = 1; int max = 0; while (mask < (1<<26)-1){ // 모든 경우의 수 탐색 if(Integer.bitCount(mask)>k){ // 비트마스크의 1 개수가 k 보다 크면 다음 경우로 넘어가기 mask++; continue; } int count = 0; for (Integer m : masks) { // 문자열을 비트마스크로 표현한 것을 비교해서 읽을 수 있는건지 개수 샘 if((mask & m) == m){ count++; } } max = Math.max(max,count); // 최대값 저장 mask++; } System.out.println(max); } private static int setToMask(Set<Character> set){ int[] num = new int[26]; for (Character character : set) { num[25 - (character-'a')] = 1; } StringBuffer sb = new StringBuffer(); for (int i : num) { sb.append(i); } return Integer.parseInt(sb.toString(),2); } }
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
벡터안쓰고 벽을 세우는 법은 없을까요?
dfs랑 땅넓이구하기는 제 나름대로 했는데 점 세개를 배열로 고르려는데 어떻게 구현할지 막혀서 못 풀었는데 벡터 안쓰고 배열로만 점 세개를 고르는 이런 알고리즘도 있을까요? 벡터쓰는게 무조건 낫거나 없으면 답변 안해주셔도 됩니다 ㅜㅜ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-O 맞은거 같은데 왜 틀릴까요? ㅠㅠ
#include<iostream> #include<string> #include<stack> using namespace std; bool check(string s){ stack<char> stk; for(char c : s){ if(c=='(')stk.push(c); if(c=='[')stk.push(c); if(c==')'){ if(stk.empty()||stk.top()=='['){ return false; } stk.pop(); } if(c==']'){ if(stk.empty()||stk.top()=='('){ return false; } stk.pop(); } } if(stk.size())return false; else return true; } int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); while(1){ string str; getline(cin,str); if(str==".")break; if(check(str))cout<< "yes\n"; else cout<<"no\n"; } return 0; }
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
문제 풀이 내용 기록
안녕하세요 강사님 강의 잘 듣고 있습니다.문제를 풀면서 아래와 같이 주석만 담고 개인적으로 풀이한 내용을 깃허브에 올려도 괜찮을까요? 문제 내용은 따로 작성하지 않고 리드미에 강의 링크를 걸어두려 합니다. 문제들을 직접 만드신 것 같아 문의드립니다. /** * className : Q02 * author : eeesnghyun * date : 2023/02/27 * description : 02-02 보이는 학생 * =========================================================== * DATE AUTHOR NOTE * ----------------------------------------------------------- * 2023/02/27 eeesnghyun 최초 생성 */ public class Q02 {
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
ios_base::~ cin.tie(~)를 쓰는 기준이 언제일까요?
교안이나 강의중에 설명 있었나요? 그럼 죄송합니다;;
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
1차원 다이나믹을 쓸 때 vs 2차원 다이나믹을 쓸 때
선생님 질문입니다. 사실 너무 많은 알고리즘과 문제가 있어서 질문자체의 범위가 큰 질문일수도 있지만, 질문 그대로 문제에 대해서 1차원으로 접근할건지 2차원으로 접근할건지에 대한 판단이 문제를 보고 잘 안섭니다.좋은 팁이 있을까요?(다른질문을 보니 물론 많이 풀어보면서 감을 익힐 수도 있겠지만 조언을 듣고싶습니다.)
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
시뮬레이션이 정확하게 무엇인가요?
삼성 코딩테스트는 주로 시뮬레이션이 나온다고 하는데 그렇다면 시뮬레이션이 정확히 무엇인가요?단순 빡구현이라고들 많이 표현하던데 그렇다면 별다른 알고리즘을 안쓰고 구현만 해내는것인가요? 이 강의에선 어디를 집중적으로 풀어야 할까요?
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
궁금한게생겼습니다.
공부하다가 보니 원소의 개 수 말고 원소를 뽑아내려고 하는데public int solution(int n, int[] arr) { int answer = 1, max = arr[0]; for (int i = 1; i < n; i++) { if (arr[i] > max) { answer = arr[i]; i++; System.out.print(answer + " "); } } return answer; }이렇게 해도 이상하지는 않을까요?
-
미해결코딩테스트 [ ALL IN ONE ]
self.head를 변경하면 안되는 이유
안녕하세요🙂self.head를 직접 사용하지 않고 current라는 새로운 변수를 만들어 포인터를 이동시키는 이유에 대한 질문입니다.self.head는 LinkedList라는 인터페이스안의 다른 함수에서도 재사용해야 하므로 직접적으로 변경하면 안되기 때문에 그런건가요. 직관적으로 생각하면 LinkedList에 접근하기 위한 고정된 값으로 이해는 됩니다!!
-
미해결자바 코딩테스트 - it 대기업 유제
카드 가져가기를 sort로 풀게 되면,,, 시간복잡도가,,,,
안녕하세요, 이 문제의 파라미터 수가 30만개인데 이걸 nlogn 으로 풀면, 백준 기준으로는 타임 오바 되는 수준으로 알고 있는데 아닌가요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
안녕하세여 질문이 있습니다!
큰돌님 안녕하세여! 저는 게임 클라이언트 프로그래머가 되기 위해서 C++ , C# 유니티 등을 공부중입니다. 그런데 CS관련지식도 필요할 거 같아서 큰돌님의 CS지식의 정석 편을 들어도 되는지가 궁금해서 질문 남깁니다. 실습이 자바나 자바스크립트 위주로 진행된다는데 저는 C++, C#만 공부했는데 들어도 댈까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-G(9996번 문제) 질문 드립니다.
안녕하세요, 선생님!선생님 수업 들으면서 정말 즐겁게 공부하고 있는 이직 준비생(?) 입니다..!다름이 아니라 9996번 테스트케이스는 통과하는데 어떤 반례에서 걸리는지 채점 중(13%..) 즈음에 "틀렸습니다" 라는 메세지가 뜹니다.최대한 예시를 안보고 풀려고 하고 있는데, 어떤 부분을 잘못 이해했는지 감이 잡히질 않아 이렇게 질문 드립니다ㅠㅠ혹시나 ab*ba 패턴일 때 aba 의 결과가 DA 로 출력 되어야 하나요..? 시간 되실 때 한 번 확인 부탁 드립니다 선생님ㅠㅠhttps://www.acmicpc.net/source/58695737
-
해결됨코딩테스트 [ ALL IN ONE ]
O(n)풀이법 질문입니다.
leetcode의 다른사람의 답을 보다가 시간복잡도가 O(n)이 걸렸다고 쓴 사람의 코드를 보았습니다.def uniquePaths(self, m, n): if not m or not n: return 0 cur = [1] * n for i in range(1, m): for j in range(1, n): cur[j] += cur[j-1] return cur[-1]1차원 배열을 초기화하는 방법을 사용하셨는데 제가 봤을 때 이 방식도 시간복잡도 O(m *n) 이라 생각이 들어 질문을 드립니다. 이 분의 코드 시간복잡도가 O(n)이 맞나요??답변주시면 정말 감사하겠습니다.
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
스스로 풀어보았습니다. 괜찮은 코드인가요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
bits/stdc++.h가 안되서 tie를 못쓰는데 헤더가 있나요?
제 vscode가 멍청이라 <iostream>밖에 안 돼서 header를 항상 입력해서 풀어보거든요 tie의 헤더 여쭤봐도 될까요 근데 구글링 해봐도 안 나오는데 없나요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-m string::npos vs end() 질문입니다,
안녕하세요 강사님! 좋은 수업 감사합니다.http://boj.kr/09947ca408364d6984681d898089205c저는 string::npos대신 end함수를 이용하여서 풀어보았는데 end는 컴파일 오류가 뜨더라구요,,end는 안되고 string::npos여야만 하는 이유가 궁금합니다!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-i 코드 내용 질문
안녕하세요, 큰돌님, 숨바꼭질 로직에 궁금한 점이 생겨서 질문드립니다.이 문제에서, 한 턴에 각각의 영역을 한 턴으로 생각하여 횟수를 센다는 건 이해를 하였습니다. 그런데, 다른 숨바꼭질 로직에서는 그냥 visited 배열을 사용하여 최소의 수를 구했던 걸로 알고 있습니다.그냥 visited배열을 쓰면 같은 영역에는 같은 숫자 가 저장되어 있지 않나요?(이미 영역이 분리되어 있지 않나요?)visited 배열 안에 있는 수를 이전과 같이 꺼내어 사용하면 되는 것 아닌가요?왜 이 문제의 경우에만 영역을 따로 생각해야 하는 건가요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-D 이왜틀
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요 강의 잘 보고 있습니다.혹시 바로 인덱스 0과 마지막을 비교하는 것은 vs에서 0, 1이 잘 찍히긴 하는데 백준에선 왜 틀리는지 궁금합니다ㅜ 제가 뭘 잘못 이해하고 있는 걸까요..?http://boj.kr/94c1cf65fa8043ff845b4b815351dd9a
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-S의 dfs에 메모이제이션 기법을 사용할 수 있을까요?
안녕하세요. 선생님!좋은 수업 열심히 듣고있습니다!2-S의 dfs에서 메모이제이션 기법을 사용하여 계산량을 줄이려고 했습니다. 그런데 노드 간에 서로 양방향으로 신뢰하는 경우가 있어 잘 안되는 것 같습니다.. 혹시 이 문제도 메모이제이션 기법을 이용해서 재귀함수 호출 횟수를 줄일 수 있을까요?ㅜ.ㅜ