묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
매개변수 값의 수정
p.108 Array의 요소 수정하기함수에 매개변수로 전달할 때, 배열은 왜 int &a[] 형태가 아닌 int *a 로 전달해야하나요?배열을 매개변수로 전달할때,int a[] | int a[size] | int *a이렇게 세 가지 형태로 전달해서 수정이 가능하다면, 결국 배열은 참조로 전달 해야지만 값을 변경할 수 있는 다른 타입들과는 다르게 매개변수로 주어졌을 때 항상 값이 변할 수 밖에 없는건가요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1 - N : 1629 문제 질문
안녕하십니까, 큰돌님 코딩 테스트 강의를 수강하고 있는 박찬영 수강생입니다.큰돌님1-N: 1629 곱셈 문제 질문 드립니다.테스트 코드는 잘 돌아가는 데 문제가 계속 틀렸다고 해서 질문 드립니다. 하기에 작성한 코드 링크 남겨두었습니다.https://www.acmicpc.net/submit/1629/54973440항상 좋은 가르침을 주셔서 감사합니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-A 문제 질문
http://boj.kr/30fb42b6aa1946dea6fb4494acefe8d0해당 풀이가 틀린 이유를 모르겠습니다.
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
증가 수열 만들기 ( deque 사용 ) 코드 질문
전 시간에 deque 구조를 배워서한번 이용해봤습니다 처음에 맨왼쪽과 맨오른쪽 비교하여 제일 작은 값을 구하고 (tmp) 1부터n까지의 수열이니까 제가 구한값 tmp 에 1씩 증가시켜 n까지 반복 코드의 효율성면에서 문제될 것이 있을까요?
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
스택프레임 관련 질문드립니다.
안녕하세요 항상 강의 잘 듣고 있습니다.5.합이같은 부분집합 문제에서 flag 변수를 이용해서 yes가 나오면 스택에 남아 있는 함수들만 호출되고 다른 재귀호출은 없이 끝내셨는데 혹시 아래 풀이에서와 같이 for, while의 반복문에서 break를 사용하면 불필요한 재귀호출 없이 끝낼 수 있나요?아래 풀이는 프로그래머스 스킬트리 문제 풀이에서 발췌했습니다!for (let i = 0; i < skillTree.length; i++) { if ( mySkillSet.has(skillTree[i]) && skillTree[i] === mySkill[mySkillIndex] ) { mySkillIndex++; } else if (mySkillSet.has(skillTree[i])) { canSkill = false; break; } }
-
해결됨IT 기업 취업을 위한: 코딩테스트 혼자서 정복하기 (C/C++)
입력함수 출력함수 관련
안녕하세요 좋은 강의 감사합니다.수업 중 코드 작성 부분을 보면 #include <iostream>을 하지만입력 함수로는 scanf 출력 함수로는 printf 를 사용하십니다.혹시 왜 그런지 이유를 알 수 있을까요?C++로 작성한다면 cin, cout 등이 있음에도 왜 C에서 사용하는 입출력 스트림을 사용하는지 궁금합니다.
-
미해결코테 출제자가 알려주는 [코딩 테스트 with 파이썬]
이분탐색-1 풀이및정답확인
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. def my_solution_budget(N,n, M): if sum(n) < M: return max(n) else: base = M // N while True: new_n = [] for i in n: if i > base: new_n.append(base) else: new_n.append(i) if sum(new_n) > M: return base - 1 else: base = base + 1test case 로보면 정답이 맞는데, 왜 통과가 안되는걸까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2주차 개념 #9 깊이우선탐색 예제 질문 입니다.
안녕하세요,2주차 개념 #9 깊이 우선 탐색 예제 구현하면서인접리스트(벡터로) 구현시 각 정점의 인접요소를 정의하는 부분이 main 함수에 있는데요저는 모든 간선(4개)을 양방향으로 아래와 같이 입력하였는데adj[1].push_back(2); adj[1].push_back(3); adj[2].push_back(1); adj[2].push_back(4); adj[2].push_back(5); adj[3].push_back(1); adj[4].push_back(2); adj[5].push_back(5);예제에서는 일부는 단방향으로만 입력이 되어있더라구요adj[1].push_back(2); adj[1].push_back(3); adj[2].push_back(4); adj[4].push_back(2); adj[2].push_back(5);DFS 특성상 Depth가 더 깊은 요소에 접근이 되려면 부모노드를 거칠 수 밖에 없긴한데 5개 방향의 간선에 대해서만 정의한 이유가 있는지 궁금합니다.
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
options - configure idle 이 없습니다 ㅠ
새로 실행할때 마다 나오는 저장문구를 없애고 싶은데 강의 대로 options 을 눌러도 configure IDLE이 나오지 않습니다
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
질문 드립니다.
BFS에서 queue 배열 활용 할 때, shift로만 처리하시던데,pop을 사용하면 어떤 차이가 있을까요???단순히 해당 Level에서 처리하는 순서만 달라지지, 층 먼저 탐색한다는 BFS 개념에 위배되지는 않다고 생각해도 맞을까요?
-
해결됨자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
각각 sort해서 계산하는 것과 계산한 뒤 모아서 sort하는 것
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.3-2 공통 원소 구하기(two pointers algorithm) 문제입니다. public List<Integer> solution(int n, int[] arr1, int m, int[] arr2) { List<Integer> answer = new ArrayList<>(); Set<Integer> set = new HashSet<>(); for(int i= 0 ; i<n; i++) { set.add(arr1[i]) } for(int i= 0 ; i<m; i++) { if(!set.add(arr2[i])) answer.add(arr2[i]); } answer.sort((o1, o2) -> {if(o1 < o2) return -1; else if(o1 == o2) return 0; else return 1;}); return answer; }위는 제가 수업 전에 작성한 코드입니다.1. HashSet으로 중복된 것을 거르고 List로 넣은 후에2. List를 오름차순으로 정렬순으로 코드를 작성했는데 마지막 테스트 케이스에 시간초과가 발생했습니다. [ 질문 ] sort때문에 시간 초과가 나는 것 같은데, 강사님 방법처럼 갖고있는 모든 원소를 sort하는 것보다 중복된 원소만 모아둔 뒤 sort하는 것이 덜 부담될 것이라 생각했는데 왜 시간초과가 나는 것인가요?여기서 시간초과가 날 것이라는 것을 사전에 미리 알 수 있는 방법이 무엇일까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
코딩테스트나 알고리즘 대회 관련 질문입니다.
안녕하세요! 코테 준비가 처음이라 궁금한 점이 있어서 질문합니다. bits/stdc++.h 이 헤더파일을 넣고 하라고 하셨는데요, 시험볼때도 이렇게 작성해도 되나요?대회나 시험을 볼 때는 시험보는 페이지에서 바로 코드를 작성해야 하나요? 아니면 제 노트북에 있는 vscode 나 devC++ 을 사용해도 되는건가요?처음 준비하다 보니 기본적인 부분도 모르는게 많네요ㅠㅠ
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
정답이지만 채점 사이트에서 오답처리가 됩니다
인텔리제이 상에선 코드가 잘 돌아가며 정답이 나오지만 채점 사이트에서는 오답이라고 나옵니다. 코드 어디 부분이 문제가 되는지 잘 모르겠어서 질문 남깁니다.import java.util.*; public class Main { public String solution(String str){ String answer= "YES"; int len =str.length(); str= str.toUpperCase(); for(int i=0;i<len/2;i++){ if(str.charAt(i)!=str.charAt(len-i-1)){ return "No"; } } return answer; } public static void main(String[] args) { Main T = new Main(); Scanner kb = new Scanner(System.in); String str = kb.next(); System.out.println(T.solution(str)); } }
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
마구간 정하기
안녕하십니까 강사님!마구간 정하기 문제를 풀이하실때 말이 3마리인 경우를 가정하고 풀어주시는데 풀이코드로 말이 4이상인 경우 대응이 가능한가요? 문제에 C마리라고 되어있어서요!
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
질문드립니다.
연산자 오버로딩 하는 부분에서 const Loc &b 여기서 b는 그냥 임의로 구조체 이름을 만드신건가요? 왜 b로 만드셨는지 궁금합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
10808 알파벳 개수 질문있습니다
로직 자체는 쉽게 생각하고 강의도 이해할수 있었는데 전역변수와 지역변수에 따라 결과다 달라 왜 그런지 알고싶습니다 #include<bits/stdc++.h>using namespace std;typedef long long ll; //int cnt[26];//string str;int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int cnt[26]; string str; cin >> str; for(char c : str){ cnt[c-'a']++; } for(int i = 0 ; i < 26; i++) cout << cnt[i] << " "; return 0;}위 코드처럼 지역변수로 배열과 str을 선언하면 결과가이렇게 나옵니다. 반대로 전역변수로 선언하면 답이 잘 나옵니다. 어떤 이유인지 알수 있을까요?그리고 long long 타입을 쓰는곳이 없는데 typedef long long ll;을 왜 해주는지도 궁금합니다!감사합니다
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
선생님 안녕하세요! String toString 차이가 궁금해요
toString 을 쓰는 이유가 주로 어떨때 어떤 이유로 쓰이나요? 구글 쳐보니까 디버깅 용도외에는 안쓰는게 좋다 이러길래 우리가 사용하는 코테수준의 코드에서 어떤 용도와 어떤 이유로 쓰면 좋을지 알고 싶습니다.특히 !! StringBuild 에서 쓰는 이유도요!StringBuild 를 이용하만 일반적인 String 이랑 형이 다르게 변하는 건가요?? 그리고 valueOf같은경우에 저는 주로 charArray 같은 경우를 나중에 String 으로 만들고 싶을때 주로 사용하거든요? StringValueOf(charArr) 이런식으로요 이 기능 외에도 쓰일때가 있나요?코테 수준에서 ValueOf의 주 기능이 알고싶어요있다면 알려주시면 정말 감사하겠습니다.
-
미해결[EduAtoZ] Python 활용&COS Pro 2급
2급 4회 1번 문제 영상확인바랍니다.
2급 4회 1번 문제영상이 4번 문제로 올라와 있습니다.혹시 몰라 4번문제영상도 봤는데 같은 영상이더라구요.1번 영상이 없습니다.확인해주세요!
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
코드 리뷰 부탁드립니다!
function solution(k, arr) { let answer = (sum = lt = 0); for (let rt = 0; rt < arr.length; rt++) { let leng = rt - lt + 1; sum += arr[rt]; if (leng === k) { answer = Math.max(answer, sum); sum -= arr[lt++]; } } return answer; } let a = [12, 15, 11, 20, 25, 10, 20, 19, 13, 15]; console.log(solution(3, a));투포인터로 풀어봤습니다.. 이렇게 풀어도 되는걸까요 ?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-S 1325 질문 있습니다.
http://boj.kr/e76755768b7d48568716ed808c81ad36 문제는 풀었습니다!ㅎㅎ다만 이해가 안가는 부분이 있는데 다 구현하고 나서 정렬할 때 cmp라는 사용자 정의 연산자를 만들어서 pair의 first값은 오름차순으로 pair의 second값은 내림차순으로 만들고 싶어서 링크의 코드 처럼 구현을 했는데 왜bool cmp(const pair<int, int>& a, const pair<int, int>& b){if (a.first == b.first){return a.second > b.second; 라고하면은 second는 내림차순으로 정렬되고}return a.first < b.first; 라고 하면은 first값은 오름차순으로 정렬되는지}이해가 잘 안갑니다.