묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
수강평 인증 이벤트 끝났나요?
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요?어떤 알고리즘을 학습하고 계신가요?여기까지 이해하신 내용은 무엇인가요? 2. 어려움을 겪는 부분어느 부분에서 막히셨나요?코드의 어떤 로직이 이해가 안 되시나요?어떤 개념이 헷갈리시나요? 3. 시도해보신 내용문제 해결을 위해 어떤 시도를 해보셨나요?에러가 발생했다면 어떤 에러인가요?현재 작성하신 코드를 공유해주세요 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다! 😊
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
6-I 질문있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. http://boj.kr/e6389548e0ca4fc78ad5f26dcfbd6c1b처음엔 다음과 같이 minPaLength로 가장 짧은 파를 찾아서 해당 값을 hi로 넣었습니다. 이렇게 진행한 이유는 문제에'하나의 파닭에는 하나 이상의 파가 들어가면 안 된다.'라고 적혀있었기 때문입니다. http://boj.kr/f0fd87d4a5924d068ce2cbf1fa312d84저 코드를 실패한 이후 다음과 같이 hi를 1e18로 바꿔서 진행했더니 정답이 되었습니다.이 문제에서 왜 hi를 가장 짧은 파의 길이로 설정하면 안되는지가 궁금합니다.
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
알파벳 빈도수 세기 정답
def find_alphabet_occurrence_array(string): alphabet_occurrence_array = [0] * 26 for char in string: if not char.isalpha(): continue arr_index = ord(char) - ord('a') -> alphabet_occurrence_array[arr_index] += 1 return alphabet_occurrence_arrayprint("정답 = [3, 1, 0, 0, 2, 0, 0, 0, 1, 0, 0, 2, 2, 1, 1, 1, 0, 1, 2, 1, 0, 0, 0, 0, 1, 0] \n현재 풀이 값 =", find_alphabet_occurrence_array("Hello my name is sparta"))print("정답 = [2, 1, 2, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0] \n현재 풀이 값 =", find_alphabet_occurrence_array("Sparta coding club"))print("정답 = [2, 2, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 3, 3, 0, 0, 0, 0, 0, 0] \n현재 풀이 값 =", find_alphabet_occurrence_array("best of best sparta")) 안녕하세요! 1주차 알고리즘과 친해지기 (2) 애서 첫번째 Hello my name is sparta 의 정답이 왜 "정답 = [3, 1, 0, 0, 2, 0, 0, 0, 1, 0, 0, 2, 2, 1, 1, 1, 0, 1, 2, 1, 0, 0, 0, 0, 1, 0] 인가요? [3, 0, 0, 0, 2, 0, 0, 1, 1, 0, 0, 2, 2, 1, 1, 1, 0, 1, 2, 1, 0, 0, 0, 0, 1, 0] 아닌가요?
-
미해결개발 역량 + 자격증까지, Java로 PCCP 자격증 준비하기
실습 승인 부탁드립니다
5일 기다리는 건 너무 시간이 길어요 ㅜㅜ
-
미해결김영한의 실전 자바 - 중급 2편
add 문의 드립니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]LinkedList<Integer> bucket = buckets[hashIndex];으로 하셨는데 bukets[hashIndex].add(value); 로 하지 않은 이유가 있을까요? 참조값은 똑같은데 변수 선언을 한 이유가 궁금합니다
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
화면이 안보입니다. 검은화면만 보여요
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-K 문제 틀린 부분을 찾지 못하겠습니다.(맞왜틀)
안녕하세요 선생님! 1-K번 문제를 제출했는데 틀렸다고 나옵니다. 그런데 잘못된 부분을 찾지 못하겠어서 질문 드립니다. 확인한 사항I'm Sorry Hansoo 그대로 복붙입력 예시와 출력 예시 모두 체크제 코드 링크를 첨부해서 보냅니다. 이해한 것들을 주석으로 달아놓았으니 잘못된 부분 알려주시면 감사하겠습니다!https://www.acmicpc.net/source/89864205
-
미해결김영한의 실전 자바 - 중급 2편
안녕하세요. 강의록 오타 제보입니다.
파일: 9. 컬렉션 프레임워크 - Map, Stack, Queue.pdf위치: 22페이지 최상단 그림 양쪽에 poll이 아닌 pool로 나와있습니다
-
미해결자바 코딩테스트 - it 대기업 유제
현관문 출입순서
안녕하세요 강사님현관문 출입순서를 풀어보고 강사님 코드를 보면서 한 if문 조건이 불필요하다고 생각해서 질문드립니다. for(int t = 0, i = 0, cnt = 0; ; t++){ //아래 조건은 아직 현관문을 다 사용하지 않았다는 조건이다. if(enter.isEmpty() && exit.isEmpty() && i < n) { if(t < arrival[i]){이 부분에서if(t < arrival[i]) 는 필요 없는 것 같아서요혹시 이게 없다면 어떤 테스트 케이스에서 막히는지 알 수 있을까요?코드 자체가 바로 아래에서이미 시간을 건너뛰는 메커니즘 t = arrival[i] 을 갖추고 있어서 굳이 필요 없다고 느껴서요 알려주시면 감사하겠습니다 강의 잘 듣고 있습니다
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
재질문드립니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. https://www.inflearn.com/community/questions/1509536/3-k-%EC%A7%88%EB%AC%B8%EB%93%9C%EB%A6%BD%EB%8B%88%EB%8B%A4해당 게시글에 재질문 했는데 아직 답변이 없어서 요청드립니다..!
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
섹션 3의 6번 문제 - 뒤집은 소수
강사님 영상 보고 입력 받는 방식만 다르게 하고, 나머지 로직은 똑같이 처리했는데 자꾸 오답이라고 뜹니다. 결과 창에 들어가서 리턴값과 정답값을 비교해보아도 다른 점을 발견하지 못했습니다. 도와주세요ㅜㅡㅜㅡㅜpackage 인프런.section3; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.StringTokenizer; public class section3_6 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); StringTokenizer st = new StringTokenizer(br.readLine()); int[] arr = new int[n]; for (int i = 0; i < n; i++) { arr[i] = Integer.parseInt(st.nextToken()); } System.out.println(); for(int x : solution_2(n, arr)){ System.out.print(x + " "); } } public static ArrayList<Integer> solution_2(int n, int[] arr){ ArrayList<Integer> answer = new ArrayList<>(); for (int i = 0; i < n; i++) { int tmp = arr[i]; int res = 0; while(tmp > 0){ int t = tmp % 10; res = res * 10 + t; tmp /= 10; } if (isPrime(res)) answer.add(res); } return answer; } public static boolean isPrime(int n){ if (n == 1) return false; for (int i = 2; i < n; i++) { if (n % i == 0) return false; } return true; } }
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-D 불! 코드 질문있습니다.
안녕하십니까 큰돌님 !복습 겸 다시 풀어봤는데 online compiler, Dev-C++ 에서 다 돌아가는데백준에 제출하면 컴파일 에러라고 뜹니다. 컴파일 에러 눌러도 "볼 수 있는 컴파일 에러 정보가 없습니다." 라고 떠서 어디가 문제인지 모르겠습니다. http://boj.kr/8340cd5509f74c90b6e07ca6a552e882 감사합니다. 새해 복 많이 받으세요 !
-
미해결김영한의 실전 자바 - 중급 2편
배열과 비교한 리스트의 이점 중에서 itemCount가 size++랑 비슷한거 아닌가요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]배열과 비교한 리스트의 이점으로 itemCount와 같이 배열에 몇 개의 데이터가 추가 되었는지 추적하는 변수를 제거할 수 있다고 했는데, MyArrayList calss에서 add(E e) 메서드를 보면 size++; 부분이 동일한 역할이을 하고 있는 것이 아닌가요?
-
해결됨코딩테스트 [ ALL IN ONE ]
[Unique Paths] 완전탐색 / DP (후반부)
[Unique Paths] 완전탐색 / DP (후반부) 강의에서 13분에서 질문있습니다. 첫 번째 행과 첫 번째 열이 모두 왜 1인가요?만약 방향을 바꾸기 전까지 1이라고 친다면, 아래 그림 처럼 도착지에서 최대 방법이 28이 아니라 8이 되어야 하는거 아닌가요? 왜냐면 방향은 오른쪽 아래로만 이동이 가능하다고 해서 올라가거나 왼쪽은 이동이 불가능하잖아요.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
반례 부탁드립니다 ㅜ
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 큰돌님.여러 반례를 다 넣어봤는데, 통과를 했습니다.그런데 제출하면 실패가 나오네요 ㅜ...아무리 머리를 굴려도 나올만한 반례는 다 찾은거 같은데.. 반례를 찾아주실 수 있나요?http://boj.kr/1962b2da6adc45cfb81e04b45e8ebe3a
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
[8-J] 시간초과 문의드립니다.
첫번째 코드에서와 같이 int mi = gap 을 하면 시간초과가 나고 두번째 코드에서와 같이 int mi = gap + 1을 하면 시간초과가 나지 않습니다. gap은 평행이동 크기로 사용했으며 mi는 가장 왼쪽에 있는 값의 인덱스로 사용했습니다. 왜 나는건지 잘 모르겠어서 질문드립니다 . 감사합니다 시간초과가 나는 코드: https://www.acmicpc.net/source/89724803통과된 코드:https://www.acmicpc.net/source/89724860
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
코테에 관한 질문 드립니다
안녕하세요 선생님! 코테 전반에 관해서 질문드립니다. Q1. 시간제한이 주어지지 않은 코테에서 풀이법을 고르는 방법추가적으로 프로그래머스 같은 환경에서 시험을 보게되면 시간제한, 스택메모리 제한이 명시되어있지 않은 경우가 많은데, 이럴때에도 그냥 "무식하게 풀이 시도 → 시간복잡도 1억,1000만 넘어가면 dp 고려" 이런 흐름으로 풀면 될지 궁금합니다! 프로그래머스에서 dfs로 풀면 시간복잡도가 50!*10* 50인 풀이가 통과가 되어서 기준이 헷갈립니다. ㅜㅜ dfs가 더 편리하고, dfs가 적절해보이는 문제(특정 목적을 이루기 위해 여러 옵션을 보며 서칭)라도 시간복잡도가 너무 크면 안전하게 bfs로 풀어야하는걸까요? 히든테케에는 시간제한을 걸어두는 경우도 있다고 들어서 더 헷갈립니다.. 그리고 제한이 명시되어있지 않은경우에는, 보통 최대 10배정도..?의 시간복잡도까지 허용해서 채점을 한다고 들었는데.. 너무 복잡하게 생각하지 않고 그냥 문제가 의도한것같은 방법으로 ("무식하게 풀이 시도 → 시간복잡도 1억,1000만 넘어가면 dp 고려" 의 기준으로) 풀면 될까요? Q2. 제한이 명시되지 않은 코테에서 재귀함수의 최대 depth를 몇까지 호출해도 될런지 궁금합니다..!보통 삼성같은 경우 스택메모리 1메가 제한이 있으니 함수 오버헤드를 고려할때 재귀호출 수만회까지 가능하지만, 함수 내부에서 4번 반복되는 루프 같은것이 있다면 호출 가능 횟수가 급격히 줄어들어 10회 내외까지가 안전한 재귀 호출 depth라고 생각합니다. 그런데 제한이 명시되지 않은 코테에서 재귀 호출 depth 까지는 신경쓰지 않아도 될까요?? Q3. main 함수가 주어지지 않는 프로그래머스 환경에서 코테를 볼때, ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);을 호출하는 방법인터넷에서 찾아보니main 함수 만들기전역에 호출하기이렇게 두가지 방법이 있는데 이 둘 중에 아무거나 써도 되는걸까요..?추가로 scanf , printf를 쓸때는, ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);를 쓰면 안된다고 하는데 맞는 이야기인가요? 감사합니다 ㅎㅎ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
&*의 의미
안녕하세요 . 10주 완성 알고리즘 교안 보는중입니다.&의 경우 변수의 메모리 주소를 저장할 때 사용* 의 경우 변수에 저장된 주소에 실제 어떤 값이 들어있는지 확인할때 사용 인거같은데,도대체 &*의 의미가 무엇인가요? 교안 103page입니다. python은 골드정도되어서 강의를 사서 들었는데, c++ 기본에 대한 설명이 너무 부족한거같네요.. 교안만 보면 베이스 지식을 요구하는 부분이 너무 많습니다.
-
해결됨코딩테스트 [ ALL IN ONE ]
dp 계단오르기최소비용질문입니다.
경우의 수 문제에서는 memo[i]가 i번째 계단까지 도달하는 방법의 수를 저장했다.최소 비용 문제에서는 memo[i]가 i번째 계단까지 도달하는 총 비용을 저장했다.그렇다면 memo[i]가 이미 최소 비용을 저장하고 있다면, 왜 cost[i]까지 더해야 하나요?memo[i] = min(memo[i-1], memo[i-2]) + cost[i] 계단 오르기 경우의 수 문제가당신은 계단을 오르고 있습니다. n꼭대기에 도달하려면 단계가 필요합니다.매번 당신은 오르 1거나 2계단을 오를 수 있습니다. 정상까지 올라갈 수 있는 뚜렷한 방법은 몇 가지입니까?memo[i]=i가 3이라고 한다면 3까지 도달할 수 있는 방법을 저장하는것이고.계단오르기 최소비용문제에서는 memo[i]=i가 3이라고 한다면 3까지 도달할 수 있는 비용을 저장하는것이라 생각하는데요.아래는 최소 비용 문제 코드입니다class Solution(object): def minCostClimbingStairs(self, cost): n = len(cost) if n == 2: return min(cost) # 계단이 두 개라면, 더 싼 비용을 선택 # DP 배열 초기화 memo = {} memo[0] = cost[0] memo[1] = cost[1] # 점화식을 이용하여 최소 비용 계산 for i in range(2, n): memo[i] = min(memo[i-1], memo[i-2]) + cost[i] # 불필요한 비교 제거 # 마지막 계단을 오르지 않아도 되므로, 마지막 두 개 중 최소값 반환 return min(memo[n-1], memo[n-2])
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-N 네 방향 탐색, dp 적용 관련 질문드립니다.
안녕하세요! dfs랑 dp 구조에 대해 공부하려고 조금 다양한 시도를 해보다 궁금증이 생겨서 나름대로 스스로 이해를 해봤는데 제대로 이해한것인지 모르겠어서 질문 드립니다.제가 이해한 내용이 맞는지 확인 부탁드립니다! 궁금증은1) 네 방향으로 탐색하면 어떻게 되는지(순차탐색을 하는 이유)2) dp 를 적용할 수 는 없는지 이 두가지입니다. 1)번은 생각보다 구현자체가 복잡해서 아이디어만 정리하고 포기를 했고, 2)번에 대해 구현한 코드는 아래와 같습니다. https://www.acmicpc.net/source/89683214그리고 1,2번에 대해 제가 나름대로 이해한 방식은 다음과 같습니다. Q1. DFS 함수를 int형 반환값으로 구현하고 상하좌우 네 방향으로 탐색할 때, 단순 DFS 완전탐색과 DP 구조로는 해결이 어려운 이유는 무엇인가?A. 네방향 탐색 시 모든 완전탐색의 경우의 수를 통해 최소값을 찾아야 한다. 이때 "하나의 경우"는 여러 분기에서 "하나의 가지"를 의미한다. 그러나 DFS로 상하좌우 탐색을 하면, 여러 방향으로 분기되며 반환값이 생기고, 남은 1의 개수가 0이 되는 것을 기저조건으로 한 함수 구조에서 매개변수가 하나로 전달되지 않는다. (ex. 1이 5개 남았을 때 왼쪽으로 탐색하여 3개 완료, 오른쪽으로 이동하여 2개 완료하는 완전탐색이 가능하나 실제로 매개변수가 0이 되는 경우가 없음)이러한 방식으로 문제를 해결하려면 현재 탐색 방향 외의 방향에 존재할 수 있는 1이 있는 칸을 탐색하는 별도의 함수(a)가 필요하다. 이 함수를 현재 재귀함수의 네 방향 반복문이 종료된 후 호출되어야 완전한 탐색이 가능해진다. Q2. 시간복잡도를 줄이기 위해 DP 적용가능 여부. 첫 풀이 시도가 틀린 이유는?A. 이 문제에서 상태값은, "현재 y좌표, 현재 x좌표, 남은 1의 개수, 지금까지 붙여온 종이의 배치 구조" 가 필요하다. (이걸 다 저장한다면 부분 최적해가 보장되어 dp 사용가능하다고 이해했습니다.) 처음에는 순차탐색을 보장한다면 지금까지의 배치 구조를 저장하지 않아도 되지 않을까했다. 남은 색종이 종류별 개수는 별도 배열로 관리하기도 하고, 애초에 배치 구조를 저장하면 자동 결정되는 것이니 굳이 또 저장할 필요 없다. 감사합니다 ㅎㅎ