묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바 코딩테스트 - it 대기업 유제
7번 비밀 번호 문제에 시간복잡도가 궁금합니다!
안녕하세요! 선생님 덕분에 매일 알고리즘 푸는 법을 재밌게 배우고 있습니다 🙂문제의 제한 사항에 "password의 길이는 200,000을 넘지 않습니다." 라서 효율성을 생각하고 풀어야 된다고 하셨는데, 인접한 숫자를 찾는 과정에서 삼중 for문을 사용하는 것이 괜찮은지 궁금합니다!
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-P 질문있습니다.
http://boj.kr/253158ae77474d9d831ca2fbb09b171e 강의 앞부분만 살짝보고 조합으로 푸는 방법을 생각해서 풀어봤습니다. 답은 예제도 통과못하는 오답입니다.제가 궁금한 점은 현재처럼 출력을 하면 빠르게 주르륵 나오게 되는데 for (int i = sy; i < n; i++) { for (int j = sx+1; j <m; j++) { if (lab[i][j] != 0) continue; //cout << "in fors"; v.push_back(make_pair(i, j)); wall(i, j, v); v.pop_back(); } //여기서 sx = -1을 하면 너무 오래걸립니다 ㅠㅠ} 해당 부분에서 문제의 1번 예시를 적용하자면(0,1) / (0,2) / (0,6) 다음 찾아져야 할 조합은(0,1) / (0,2) / (1,0) 인데 로직 상 sx보다 큰 값이 x에 들어가져서(0,1) / (0,2) / (1,3)으로 들어갑니다. 이것을 해결하기 위해서 sx = -1을 해당 주석 위치에 넣었지만 그렇게 하게 되면 답은 나오나 너무 오래걸립니다. 혹시 소생 불가능한 코드인지 여쭤봅니다 ㅠㅠ
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
getline()에 대하여
안녕하세요 🙂 큰돌님!새로 교안 업그레이드를 해주시면서 getline()에 대한 설명을 읽어보았는데요,getline()의 경우 cin과 달리, '\n'까지 입력받는 것은 이해하였는데,밑의 출력 예시를 보면 getline()이 입력받은 뒤에 오는 개행문자를 삭제한 것 같은데, 제가 잘못 이해한 것인지 질문드리고 싶습니다! 다른 질문글에 답변 주신 것도 읽어보았는데 잘 이해가 안되어서요ㅜㅜ
-
해결됨코딩테스트 [ ALL IN ONE ]
노션 공유 요청했는데 확인부탁드립니다.
hth815@g.kmou.ac.kr 으로 네이버폼에 작성했는데 아직 공유가 안된 것 같아서 확인부탁드립니다..!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
반례를 부탁드려도 될까요?
http://boj.kr/9d24e206cd864a0e9e256f690f8de38e강의 잘 듣고 있습니다선생님 코드와 다르게 무언가 실수한 부분이 궁금해 질문 드립니다.
-
해결됨자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
split 사용 강의 중 질문_return 값에 answer가 안담깁니다.
package basic; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; class longWords_split { public String solution(String str){ String answer =" "; int m = Integer.MIN_VALUE; String[] s = str.split(" "); for(String x: s){ int len = x.length(); if(len > m) { m = len; answer = x; } } // System.out.println(answer); return answer; } public static void main(String[] arg) throws IOException { longWords_split T = new longWords_split(); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String input = br.readLine(); T.solution(input); } }이 코드에서 System.out.println(answer); 로 확인하면 가장 긴 단어가 출력되는데, return answer 를 받았을때 값이 아무 것도 안나옵니다 (공백출력) 원인을 못찾고 헤매고 있습니다. ㅠㅜ 조언 부탁드립니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
시간초과 관련 질문입니다!
안녕하세요 선생님, 먼저 답변 감사드립니다. 이 부분에 대해 완벽히 이해했습니다. 다만, 배열 범위 밖의 인덱스를 참조했음에도 컴파일 오류가 발생하지 않았던 이유가 궁금합니다.(Dev C++을 사용하는데, 잘 동작했고 테스트 케이스도 통과했습니다.) 그리고 왜 백준 사이트에서 컴파일 에러가 아닌, 시간 초과로 표시가 되었는지도 궁금합니다. 좋은 강의 늘 감사드립니다!
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-P 질문
72623530번 소스 코드 (acmicpc.net) 5-P C++17로 하면 틀리고 (Clang)으로 하면 맞는데 이유를 모르겠습니다..... 고견 부탁드립니다 ㅠㅠ
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
시간초과가 뜨는데 이유를 모르겠습니다.
안녕하세요 선생님,http://boj.kr/92a5d34f76b34eef8a2942f4dbc3813d 선생님의 코드와 유의미한 차이는 없는 것 같은데, 시간초과가 발생합니다. 왜 저 코드에서 시간초과가 발생하는지 알고 싶습니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-K 문제 testcase는 다되는데 왜 틀린지 모르겠습니다...
http://boj.kr/8a67b16cc06148c08f590424b6bd7b25 코드 한번 봐주시면 감사하겠습니다 ㅠㅠ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
이메일 남겨드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 원격으로 부탁드립니다...이메일 전달드립니다.lahatko1202@gmail.com감사합니다.0
-
미해결제주코딩베이스캠프 Code Festival: JavaScript 100제
71번 깊이 우선 탐색 질문드립니다.
안녕하세요. 71번 문제의 출력엔 E D F A C B로 되어 있습니다. 그 앞에 깊이 우선 탐색을 그림으로 해설 하실때에도 E D F A C B로 설명해주시는데 하지만 정답 코드로는 E A B C D F 로 나오는데 해설에는 단지 출발 방향만 다르지 같다고 하시는데 이해가 되질 않아 문의드립니다.
-
해결됨[자바/Java] 문과생도 이해하는 DFS 알고리즘! - 입문편
백준 실행시 틀립니다.
안녕하세요 강사님. 문제를 풀고 백준에 제출했을 때 계속 오답으로 나와 질문 드립니다..제가 봤을 때 강사님 코드랑 거의 비슷하게 수정까지 한 것 같은데.. 어떤 부분이 잘못되었는지 확인 한번 부탁드립니다.import java.io.*; import java.util.StringTokenizer; public class Main { final static int MAX = 50 + 10; static boolean map[][]; static boolean visited[][]; /* static int dirY[] = {1, 1, 1, 0, 0, -1, -1, -1}; static int dirX[] = {-1, 0, 1, -1, 1, -1, 0, 1};*/ static int dirY[] = {-1, -1, 0, 1, 1, -1, 0, -1}; static int dirX[] = {0, 1, 1, -1, 0, -1, -1, -1}; static int N, M; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); while (true) { StringTokenizer st = new StringTokenizer(br.readLine()); M = Integer.parseInt(st.nextToken()); // 너비 x N = Integer.parseInt(st.nextToken()); // 높이 y if (N == 0 && M == 0) break; map = new boolean[MAX][MAX]; visited = new boolean[MAX][MAX]; // 1. map 정보 반영 for (int i = 1; i <= N; i++) { st = new StringTokenizer(br.readLine()); for (int j = 1; j <= M; j++) { map[j][i] = Integer.parseInt(st.nextToken()) == 1; } } // 2. dfs int result = 0; for (int i = 1; i <= N; i++) { for (int j = 1; j <= M; j++) { if (map[i][j] && !visited[i][j]) { dfs(i, j); result++; } } } // 3. 출력 bw.write(String.valueOf(result)); bw.newLine(); } bw.close(); bw.close(); } private static void dfs(int y, int x) { visited[y][x] = true; for (int i = 0; i < 8; i++) { int newY = dirY[i] + y; int newX = dirX[i] + x; if (map[newY][newX] && !visited[newY][newX]) { dfs(newY, newX); } } } }
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
문자열 슬라이싱
안녕하세요, 문자열 슬라이싱 관련 질문이 있습니다.문자열 a = 'abcde'가 있다고 할 때, print(a[::-1]) 을 실행하면 'edcba'로 문자열이 반대로 나오지만print(a[1:4:-1])처럼 [ : :-1]에서 시작하는 칸과 끝나는 칸에 그 어떤 수를 넣어도프린트가 되지 않습니다.유사하게 -1대신 -2, 등 음수는 되지 않는다는 것을 확인하였습니다.print(a[1:4:2])는 되는데 print(a[1:4:-1])이 되지 않는 이유는 무엇인가요?[ : : ] 에서 마지막에 음수를 넣으면 그 앞 두 칸에는 숫자를 넣을 수 없는 것인가요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
시간초과 관련 질문 드립니다.
안녕하세요 선생님,http://boj.kr/748e160790bc4f178f9f9ec8afbd0054테스트 케이스는 통과했지만, 시간 초과가 떴습니다. 선생님의 코드와 비교했을 때, 대충 제 코드의 'find' 함수에서 맵 순회 부분이 매우 비효율적이라는 것 정도를 짐작할 수 있었습니다. 다만, 확실히 짚고 넘어가고 싶어 이렇게 질문을 드립니다.아래의 두 코드에서 시간복잡도 측면에서 어떤 차이가 있는지, 왜 선생님의 코드가 더 빠른지 정확히 알고싶습니다.위가 제 코드이고, 아래가 선생님의 코드입니다. 1. 제 코드는 특정 값을 찾기위해 모든 맵을 순회하고 있는데, 선생님처럼 코드를 짜면 특정 값을 찾기위해 맵을 순회할 필요가 없나요? 2. 제 코드는 모든 맵을 순회하면서 맵의 first값, second 값 모두를 비교합니다. 이부분도 시간복잡도가 커질 수 있는 여지가 있나요? 혹시 시간초과가 난 다른 이유가 있다면 알려주시면 감사하겠습니다!좋은 강의 늘 감사합니다:)
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-F MAX 처리에 대한 질문
int go(int index, int k, int mask) { if (k < 0) return 0; if (index == 26) return count(mask); int ret = go(index+1, k-1, mask | (1 << index)); if (index != 'a'-'a' && index != 'n'-'a' && index != 't'-'a' && index != 'i'-'a' && index != 'c'-'a') { ret = max(ret, go(index+1, k, mask)); } return ret;}위 GO함수 내에서 마스킹할때는 ret에 max 처리를 하지 않았는데 마스킹하지 않을 경우에 ret에 max처리를 하신 이유가 궁금해서 질문드립니다! 어떠한 차이가 있는건지 잘 이해가 안가네요 ㅜㅜ
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-E 뮤탈리스크 질문있습니다.
뮤탈리스크 문제를 아래의 논리로 해결하는 코드를 작성했습니다. 예제는 전부 통과했는데, 왜 제출하면 답이 틀리는 지 잘 모르겠습니다.논리scv 체력의 합이 1 이상이면 뮤탈은 공격해야 한다.scv 체력을 내림차순으로 정렬한다.체력이 높은 scv 순으로 9,3,1 데미지를 입힌다.데미지를 입어 체력이 0 미만이면, 0으로 체력을 재조정한다.scv의 체력을 합한다.위의 과정을 반복하면서 횟수를 센다.코드http://boj.kr/5dd90a26a8b24bb797b6bcffcde65bba
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
지역변수 질문이요
안녕하세요 강의 잘 듣고있습니다혹시 int cnt=0을 for(i)반복문 밑에 선언한것은 j,k 반복문이 끝나고 cnt를 0으로 초기화 하실려고 저 위치에 선언한게 맞으실까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
제 코드에서 어디가 잘못된 지 잘 모르겠습니다
안녕하세요 선생님, 강의 잘 듣고 있습니다.선생님 덕분에 코딩의 즐거움을 느끼고 있습니다. http://boj.kr/bbbe4b5ba1ae4d06a05d057e9dfbc3d0제가 작성한 코드인데, 테스트 케이스에 있는 입력값을 돌려보면 17, 63 이라는... 터무늬 없는 숫자가 나옵니다. 주석 처리된 부분을 통해 headgear, eyewear, face 의 갯수까지는 잘 들어온 것을 확인할 수 있었는데 그 이후, ans 에 map의 값을 순차적으로 곱해나가는 부분에서 문제가 있는 것 같습니다. 하지만 아직까지 어떤 부분에서 코딩을 잘못한건지 찾고있지 못하여 선생님께 질문을 드리게 되었습니다. 다시한번 좋은 강의 늘 감사드립니다.
-
해결됨2주만에 통과하는 알고리즘 코딩테스트 (2024년)
2강 14분쯤 문제 2번 14232번 출력초과...
자꾸 출력초과가 나요..vscode에서 돌려보면 맞는 출력값이 나오는데왜 백준에서는 출력초과가 나는지 모르겠어요 ...강의에 있는 코드 참고해서 한건데 왜 안되는지 모르겠어요 ㅠ........ n = int(input()) jewel = [] for i in range(1,int(n**0.5)+1): if i >2 : if n%i == 0: jewel.append(i) jewel.append(n//i) jewel.sort() print(len(jewel)) print(' '.join(map(str,jewel)))