묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
아나그램 문제 런타임에러
안녕하세요 강사님. 해쉬맵 아나그램문제 런타임에러가 나서 채점이 되지않은데 왜 그런지 모르겠습니다.. import java.util.HashMap; import java.util.Scanner; public class Main { public String solution( String str1, String str2){ String answer = "YES"; HashMap<Character,Integer> str1map = new HashMap<>(); //문자열을 순회하며 알파벳을 개수를 세기 for(char key: str1.toCharArray()){ str1map.put(key,str1map.getOrDefault(key,0)+1); } //문자열을 순회하며 map에서 count 하나씩 제거 for(char key: str2.toCharArray()){ //str1에 있는 문자열이 str2에는 없거나 갯수가 0인경우 아나그램이 아님 if(!str1map.containsKey(key) || str1map.get(key) == 0) answer = "NO"; str1map.put(key,str1map.get(key)-1); } return answer; } public static void main (String[]args){ Main main = new Main(); Scanner sc = new Scanner(System.in); String str1 = sc.next(); String str2 = sc.next(); System.out.print(main.solution(str1, str2)); } }
-
미해결김영한의 실전 자바 - 중급 2편
타입 매개변수 불일치
타입 추론이 있다는 것은 예를 들어 참조변수의 타입이 GenericBox<Integer>일 때, 인스턴스의 타입도 반드시 GenericBox<Integer>이어야 한다는 뜻인가요? 아래 코드와 같이 작성하는 경우 컴파일 오류가 발생하는데 제네릭에서 타입 매개변수에 타입을 넣는 것은 다형적 참조와 무관한 부분인 건가요? 무조건 참조변수와 인스턴스의 타입 매개변수가 동일해야 하는 건가요?GenericBox<Object> tmp = new GenericBox<String>(); // 컴파일 오류
-
미해결김영한의 실전 자바 - 중급 2편
Possible typo - "row" to "raw"
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 아니오[질문 내용]제네릭 용어와 관례 챕터에서 row type 이 기재돼있는데 raw type 을 말씀하시는 것 같네요. Raw (생/날 것) 이 오타난 것 같아 알려드립니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
split() 질문입니다.
#include <bits/stdc++.h> using namespace std; vector<string> split(string input, string delimiter){ vector<string> ret; long long pos = 0; string token = ""; while((pos = input.find(delimiter)) != string::npos){ token = input.substr(0,pos); ret.push_back(token); input.erase(0,pos+delimiter.length()); } ret.push_back(input); return ret; } int main(){ string s = "abcddabcddabcdabcabcdd", d = "d"; vector<string> a = split(s,d); for (string b : a) cout << b << endl; }안녕하세요 선생님 수업 재밌게 듣고있습니다.split함수도 잘 이해가 됐습니다. 그런데 질문 있습니다.만약 제가 만든 문장으로 split을 하면 제 생각에 결과는선생님이 알려주신 코드로 돌리면 {abc,"",abc,"",abc,abcabc} 가 나올것입니다.왜냐면 코드상에서 빈 문자열이 되더라도 token을 ret에 삽입하고 있기 때문입니다.그렇지만 제 생각에 올바르게 나오는것은 {abc,abc,abc,abcabc} 가 나와야 올바를것 같습니다.split이라는 함수가 token이 빈 string이 되더라도 무조건 vector에 삽입하는게 옳지 않다고 생각하는데어떻게 생각하시나요? 다음은 위 코드의 출력입니다.이상입니다. 감사합니다.
-
미해결JavaScript 알고리즘 베스트 10
4번 꿈의 설계
안녕하세요이 부분에서 갑자기 key value가 나오는데, 이 변수들은 정의되지 않았는데 어떻게 나온건가요?
-
미해결JavaScript 알고리즘 베스트 10
3번 출정인원 선발
3번 출정 인원 선발의 아래 코드에서 질문이 있습니다.if문의 첫 번째 조건에서, 선발된 인원이 2명, 선발해야 하는 인원이 4명, i[1].length가 3일 경우에 조건을 통과하여 선발인원에 push가 되는데, 남은 자리가 2개여서 3명이 추가되면 안되니까 조건이 잘못된 것이 아닌가요??그래서 선발해야하는 인원과 선발된 인원의 차이를 고려하여 첫 번째 조건의 && 뒷부분 조건이 아래 코드블럭처럼 되어야 하는게 아닐지 궁금합니다. 제가 잘못 생각했다면 어느 지점이 잘못된 것일지도 궁금합니다 감사합니다!i[1].length <= 선발해야하는인원 - 선발된 인원
-
해결됨SQL 코딩테스트를 위한 첫 걸음
cross join, full join강의 / leetcode 1280번 문제 질문드립니다
select a.student_id, a.student_name, a.subject_name, count(e.subject_name) attended_exams from ( select student_id, student_name, subject_name from Students, Subjects # cross join ) a left outer join ( select student_id, subject_name from Examinations ) e on a.student_id=e.student_id and a.subject_name=e.subject_name group by a.student_id, a.student_name, a.subject_name order by a.student_id, a.subject_name;해당 코드에 select 문에 있는 count(e.subject_name) attended_exams를 실행할 때,count(a.subject_name) attended_exams와 같이 cross join을 실행한 subject_name을 기준으로 실행하는 경우에는 0값이 안나오는 결과를 확인했는데 둘의 차이가 궁금합니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
교안 38p char을 초기화할 때 NULL 초기화가 되지 않네요.
아래의 코드를 type.cpp파일에 작성하고,➜ c++ git:(master) ✗ g++ -std=c++14 -Wall type.cpp -o type.out컴파일을 했을때, 해당 NULL로 초기화가 안되는데 뭐가 잘못된 걸까요? ➜ c++ git:(master) ✗ g++ -std=c++14 -Wall type.cpp -o type.out type.cpp:35:14: warning: implicit conversion of NULL constant to 'char' [-Wnull-conversion] char c = NULL; // c에 NULL 매크로 할당, 이는 '\0'과 동일 ~ ^~~~ '\0' 1 warning generated. #include <bits/stdc++.h> using namespace std; int main(){ char a = '\0'; char b = 0; char c = NULL; string d = ""; cout << "hello"; if(a == b) cout << 1; // a와 b는 동일하므로 1 출력 if(b == c) cout << 1; // b와 c도 동일하므로 1 출력 // string(1, a)는 a를 하나의 문자로 가지는 문자열 생성, 이는 "\0"과 같음 if(string(1, a) == d) cout << 1; }
-
미해결JavaScript 알고리즘 베스트 10
강의 깃헙 주소
강의 깃헙 주소는 어디 있나요?
-
미해결JavaScript 알고리즘 베스트 10
문제 1번 관련
안녕하세요혹시 정규표현식 말고 replaceAll 사용한 이유가 있으신가요?
-
미해결JavaScript 알고리즘 베스트 10
서비스에서 run javascript
안녕하세요서비스에서 run javascript가 어디있나요??
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-L 주몽 다른 풀이 질문있습니다.
안녕하세요 선생님항상 강의 재밌게 풀이 해주셔서 감사합니다.http://boj.kr/687f2bbe76514a2f9614c1a633e26717문제를 풀면서 다른 풀이 방식으로 접근을 하였는데,궁금한 점이 생겨 질문드립니다.이중 for문을 사용하면 시간복잡도가 O(n^2)으로 생각하여 위 링크와 같이 생각을 하였는데, 이런 방식으로 접근하여도 올바른 접근법인가요?
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
뒤집은 소수 문제
2는 소수이기 때문에 for i in range(2, x//2+1): 이 구문에서 return False 가 아닌 True로 나오게 해야 하는거 아닌가요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-M 반례 질문
안녕하십니까 큰돌님정답 맞추긴 했는데 틀렸던 코드 중에서 반례가 무엇이 있는지 궁금해서 질문드립니다.http://boj.kr/72c2759cc7fc49bc81d88d5c5cdbdd17
-
해결됨코딩테스트 [ ALL IN ONE ]
bfs 시간복잡도 관련 질문입니다!
안녕하세요! 열심히 수강하다가 질문이 생겨 작성하게 되었습니다:> '''질문 : 이 함수의 시간복잡도는 O(n^3)인가?'''def bfs(graph, start_v): visited = [start_v] queue = deque(start_v) while queue: cur_v = queue.popleft() for v in graph[cur_v]: if v not in visited: visited.append(v) queue.append(v) return visited 위의 코드를 템플릿처럼 외우라고 하신 함수 시간복잡도가 궁금합니다!제가 생각하기로는 n(vertax의 수만큼 while문 실행) x n(for문) x n(리스트 in 연산자 수행) -> O(n^3) 이라고 생각하는데 이게 맞는걸까요??
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
누적곱을 이용한 풀이
http://boj.kr/480d56cedce24b1887732ad80aad6c12 선생님, 안녕하세요~ 이번 문제를 풀때 누적곱을 이용했는데요.제일 앞부분에 1을 넣어놓고, n+1번째에 누적곱을 넣은 누적곱의 배열을 만들었습니다.그리고, 이중 반복문을 진행하면서 a[i]를 a[j]로 나눠보며 최대값을 구해봤는데요. (a[0]는 1이라서, a[i]를 a[0]로 나누면 i번째 까지의 누적곱, 그 이후부터는 연속된 앞부분으로 나눈 것)이중반복문으로 했다보니 시간초과가 나면 그렇구나 할텐데, 답이 틀렸다고 하니, 어디가 틀렸는지 잘 모르겠습니다. 처음부터 잘못 생각한 걸까요? 아니면 코드를 어딘가 잘못짠 부분이 있는걸까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-K insert 질문
큰돌님 안녕하십니까커뮤니티 찾아보니까 insert 함수 첫 번째 인자는 이터레이터 값이 들어가야 해서 begin() + '넣어줘야 할 위치' 가 들어가야 오류가 안 나고 정상 작동한다고 봤는데http://boj.kr/9fc8f9dd8de44b04b979a877da3962fd이렇게 해도 백준에서 맞다고 합니다. 또 Programiz(c++ online Compiler)로 코딩하는데 오류 안 나고 잘 작동해서 해서 질문드립니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-J 반례
안녕하십니까 큰돌님코드를 작성했었는데 틀렸다고 하는데 반례 어떤게 있을까요 ??반례와 왜 안 되는지도 설명 한 번 부탁드립니다 ㅜㅠhttp://boj.kr/4eae857b9f4243aa90c9206ce1aabd15
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
왜 시간초과가 나는지 모르겠습니다.
import java.util.HashMap; import java.util.Map; import java.util.Scanner; public class 매출액의_종류 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int n = scan.nextInt(); int k = scan.nextInt(); int[] arr = new int[n]; for(int i=0;i<n;i++){ arr[i] = scan.nextInt(); } System.out.println(mySol(n,k,arr)); } private static String mySol(int n, int k, int[] arr) { String result = ""; Map<Integer,Integer> map = new HashMap<>(); for(int i=0;i<k-1;i++){ map.put(arr[i],map.getOrDefault(arr[i],0) + 1); } int lt = 0; for(int rt=k-1;rt<n;rt++){ map.put(arr[rt],map.getOrDefault(arr[rt],0) + 1); result += map.size() + " "; map.put(arr[lt], map.get(arr[lt]) - 1); if(map.get(arr[lt]) == 0) map.remove(arr[lt]); lt++; } return result; } }
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-f 질문있습니다.
http://boj.kr/9bb703b0a79748328575376a22d93db1안녕하세요 선생님 강의 잘 듣고 있습니다.강의 에서는 if문에 if문을 적용하여 풀이를 하였는데,공유드린 소스처럼 26의 나머지 값을 사용하여 풀어도 괜찮을까요?결과는 동일 한데 어떤 방식으로 접근하는게 더 효율적인 접근방식인지 궁금합니다.