묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
이런 방식으로 문제를 푸는 건 어떻게 생각하시나요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. function solution(alphaStr1, alphaStr2) { let answer = "YES"; let alphaMap = new Map(); for(let i of alphaStr1) { if(alphaMap.has(i)) alphaMap.set(i, alphaMap.get(i) + 1); else alphaMap.set(i, 1); } for(let i of alphaStr2) { if(alphaMap.has(i)) alphaMap.set(i, alphaMap.get(i) - 1); else return "NO"; } for(let [key, val] of alphaMap) { if(val != 0) answer = "NO"; } return answer; } let alphaStr1 = "AbaAeCe"; let alphaStr2 = "baeeACA"; console.log(solution(alphaStr1, alphaStr2));
-
해결됨자바 코딩테스트 - it 대기업 유제
청소 문제 dx,dy배열 방향벡터 x,y 바뀐거같은데 맞나요??
3시방향이면 x축을 움직여야되는데강사님 설명은 y축이 움직이는걸로 되어있습니다.배열이 거꾸로 된거같아 매우 헷갈립니다.답변 부탁드립니다.
-
미해결자바 코딩테스트 - it 대기업 유제
잃어버린 강아지 질문드립니다.
초기에 현수 위치와 강아지 위치를 큐에 넣어주고 탐색했는데, 큐에 넣고 탐색하면 안되는건가요??? import java.io.*;import java.util.*;class Node { int x; int y; Node(int x,int y){ this.x=x; this.y=y; }} public class Main { public int solution(int[][] board){ int[] dx = {-1, 0, 1, 0}; int[] dy = {0, 1, 0, -1}; int n =board.length; int m=board[0].length; int d1=0, d2=0; Queue<Node> huyn = new LinkedList<>(); Queue<Node> dog = new LinkedList<>(); for(int i=0; i<n; i++) { for(int j=0; j<m; j++) { if(board[i][j]==2) { huyn.add(new Node(i,j)); } if(board[i][j]==3) { dog.add(new Node(i,j)); } } } int time=0; while(time<10000) { time++; boolean flag1=true, flag2=true; Node ddog = dog.poll(); Node h = huyn.poll(); int nxh = h.x+dx[d1]; //현수의 다음 노드 int nyh = h.y+dy[d1]; int dogx = ddog.x+dx[d2]; int dogy = ddog.y+dy[d2]; if(nxh<0 || nyh<0 || nxh>=n || nyh>=m || board[nxh][nyh]==1) { d1 = (d1+1)%4; flag1 = false; } if(dogx<0 || dogy<0 || dogx>=n || dogy>=m || board[dogx][dogy]==1) { d2 = (d2+1)%4; flag2 = false; } if(flag1) { huyn.add(new Node(nxh,nyh)); } if(flag2) { dog.add(new Node(dogx, dogy)); } if(nxh==dogx && nyh==dogy) { return time; } } return 0; } public static void main(String[] args){ Main T = new Main(); int[][] arr1 = { {0, 0, 0, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 2, 0, 0}, {1, 0, 0, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 3, 0, 0, 0, 1}, {0, 0, 0, 1, 0, 1, 0, 0, 0, 0}, {0, 1, 0, 1, 0, 0, 0, 0, 0, 0} }; System.out.println(T.solution(arr1)); int[][] arr2 = { {1, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 1, 1, 0, 0, 0, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 1, 0, 0, 0, 0}, {1, 0, 0, 0, 0, 0, 1, 0, 1, 0}, {0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, {0, 0, 1, 0, 0, 0, 0, 0, 2, 1}, {0, 0, 0, 1, 0, 1, 0, 0, 0, 1}, {0, 1, 0, 1, 0, 0, 0, 0, 0, 3} }; System.out.println(T.solution(arr2)); } }
-
미해결더 개발자, 인터뷰 가이드
코딩인터뷰 때 손코딩, 화이트보드에 코딩시키는 이유가 있나요?
컴퓨터로 온라인 코딩 플랫폼에서나 IDE로 코딩인터뷰를 진행하지 않고 손코딩, 화이트보드에서 코딩 인터뷰를 진행하는 이유가 있나요?
-
미해결입문자를 위한 코딩테스트 핵심(이론과 문제풀이) [Python]
해시[문제1번] max사용의문
-영상 14분for i in range(1, 1001): if cnt[i] == 1: answer = max(answer, i) #i는 계속 커지므로 max를 안써도 되지 않을까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
안녕하세요 선생님 질문 있습니다!!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. http://boj.kr/50bc7487d15a4569a1ed8e12e3f46c6f메인에서 combi를 호출할 때에 combi(-1,b)로 보내는데 위의 링크 combi(0,b)로 보내고 combi 함수의 내부의 for문과 같이 바꿔도 괜찮을까요??개인적으로 함수를 호출할 때에 증가되는것이 보기에 더 잘 이해되서 한 번 여쭤봅니다!!
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
선생님 배열을 잘 모르겠습니다...
선생님 여기 와일문에서 tmp변수를 소인수분해 하는 과정까진 이해를 했습니다.. 근데 분해 될 때마다 ch [j]++을 하라고했는데 이건 j배열의 인덱스값을 늘려서 3 1 1 이런식으로 j배열이 저장되는거 아닌가용? 프린트문에서는 ch[i]로해서요! 물론 컴파일해보면 선생님이 설명해주신게 맞습니다! 다만 제가 이해가 잘 안되어서요 ㅠㅠㅠ
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-a문제 two pointer - list 질문입니다.
http://boj.kr/eaeaa929cfea47cea478e58406b544d1안녕하세요. 예전에 알고리즘을 살짝 공부해서 투 포인터를 써서 array로 풀어보고 list로도 풀어 볼라 하는데 막혀서 질문드립니다.위 코드를 보면 9개의 입력을 받는 cin반복문이 작동하지 않습니다. line 15까지만 있으면 잘 작동하는데 아래 코드들이 추가되면 안되더라구요. iterator를 잘못사용한거 같아 3시간 동안 구글링하며 씨름 해봤는데 그래도 모르겠습니다...참고로 http://boj.kr/ed564ade48bf42768fe37164e175621b 는 array로 짠 코드입니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-K 1513 해설 코드가 이해가 잘되서 질문드립니다.
일단 저는 이직준비를 하기 위해 이 강의를 수강하고 있어서 제공되는 문제와 강의를 kotlin언어로 풀고있습니다. 제가 틀린문제라 아래 코드는 선생님의 C++ 해설코드를 그대로 kotlin 코드로 옮겨 놓은것인데요. go 함수의 종료 조건에 저 부분을 추가 하면 정답이 됩니다. 하지만, 선생님의 C++ 코드는 저런 종료 조건이 없음에도 잘 정답처리가 됩니다. 이게 로직의 차이인지.. 아니면 제가 모르는 C++ 언어의 특성으로 발생하는 일인지 잘 모르겠습니다.왜 선생님의 코드에는 cnt가 음수가 되면 종료하는 종료 조건이 없이도 정답이 됩니까? // 방문해야할 오락실 개수가 음수라면 if (cnt < 0) return 0fun go(y: Int, x: Int, cnt: Int, prevC: Int): Int { // 맵의 범위를 벗어난 경우 if (y !in 1..n || x !in 1..m) return 0 // 방문해야할 오락실 개수가 음수라면 if (cnt < 0) return 0 // 도착지에 도착한 경우 if (y == n && x == m) { if (map[y][x] == 0) { if (cnt == 0) return 1 } else { if (cnt == 1 && map[y][x] > prevC) return 1 } return 0 } // println("y $y, x $x, cnt $cnt prevC $prevC") if (case[y][x][cnt][prevC] != -1) return case[y][x][cnt][prevC] var pathCnt = 0 if (map[y][x] == 0) { pathCnt = (go(y + 1, x, cnt, prevC) + go(y, x + 1, cnt, prevC)) % 1000007 } else if (map[y][x] > prevC) { pathCnt = (go(y + 1, x, cnt - 1, map[y][x]) + go(y, x + 1, cnt - 1, map[y][x])) % 1000007 } case[y][x][cnt][prevC] = pathCnt return pathCnt }
-
미해결SQL 왕초보를 위한 해커랭크로 배우는 실전 SQL
6번문제
6번문제 이렇게 작성해도 정답인가요?select *From CITYwhere POPULATION > 100000AND COUNTRYCODE ='USA'
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
코드 리뷰 부탁드립니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.잘 구현한 게 맞는지 궁금합니다.function solution(day, saleArr) { let answer; let start = 0; let sum = 0; let max = Number.MIN_SAFE_INTEGER; for(let end = 0; end < day; end++) { sum += saleArr[end]; } max = sum; for(let end = 3; end < saleArr.length; end++) { sum = sum + saleArr[end] - saleArr[start++]; if(sum > max) max = sum; } answer = max; return answer; } let day = 3; let saleArr = [12, 15, 11, 20, 25, 10, 20, 19, 13, 15]; console.log(solution(day, saleArr));
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
글이 삭제가 안됩니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 글이 삭제가 안되네요..그래서 삭제하지 못하고 이렇게 남겨놓습니다. 해당 질문 신경쓰지 말아주세요.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-G 영상
영상 앞부분이 짤린건가요?? 갑자기 설명부터 시작해서 전 영상에서 짤린 줄 알았습니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-k
http://boj.kr/fe656adfc64b4439972395d07af40ff6결국 못풀어서 선생님꺼보고 생각하면서 작성하며이것저것 바꿔보고있는데요 insert부분에서 begin은 어차피 0이니 지우고 사이즈만 반으로 나눠도 될것같은데 오류가 나더라구요위치를 반환하는거니 시작위치 + 사이즈만큼의 위치를 반환하는거로 생각되는데 맞게 이해하고있는건가요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
c++ 자료구조stl은 struct도 지원되나요?
int, pair<?,?> 이런것 만 지원되나요?struct의 stack이나 queue는 직접 구현 해야 되나요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-T 5557 1학년
#include <iostream>#include<vector>#include<algorithm>#include<string>#include<queue>#include<numeric>#include<map>#include<cstring>using namespace std;typedef long long ll;int N;ll arr[104][10004];int num[104];int Size;ll go(int idx, int cur) { if (cur > 20 || cur < 0) { return 0; } // 기저사례 if (idx == N - 1) { if (cur == num[idx]) { return 1; } return 0; } ll& ret = arr[idx][cur]; if (ret != 0) { return ret; } ret += go(idx + 1, num[idx] + cur); ret += go(idx + 1, cur - num[idx]); return ret;}int main() { cin >> N; for (int i = 0; i < N; i++) { cin >> num[i]; } cout << go(0, 0); return 0;} 해당하는 코드에 대한 반례나 틀린점이 있을까요??
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
선생님! 코드 한번만 봐주실 수 있을까요?
const solution = (nums) => { let sumNum = 0 let minNum = Number.MAX_SAFE_INTEGER let oddNums = nums.filter((num) => { return num % 2 !== 0 }) oddNums.forEach((num) => { sumNum += num if (num < minNum) minNum = num }) return [sumNum, minNum] }위와 같이 짜봤는데 비효율적인 코드인가 싶어서 여쭤봅니다! (구지 filter와 forEach를 쓸 필요까지는 없었나 싶어서...) 효율성적인 측면에서 볼 때 어떤지 궁금합니다
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2주차 교안 내용 오류 발견 및 질문
Question 12주차 이론 블로그 내용에서 내부 노드의 정의가 '루트 노드와 내부 노드 사이에 있는 노드를 뜻합니다.' 로 되어 있는데 여기서 내부노드가 아닌 리프노드가 맞지 않나요? Question 22주차 문제 중 10709 기상 캐스터 문제 코드에서 다음 부분 질문입니다. for(int i = 0; i < n; i++){ for(int j = 0; j < m; j++){ if(a[i][j] == 0){ int cnt = 1; while(a[i][j + 1] == -1){ a[i][j + 1] = cnt++; j++; } } } } 위 코드에서 while 문 내부에서 조건이 계속 만족되면 증가하는데, 인덱스 에러가 발생하지 않는 이유가 궁금합니다. for (int j = 0; j < m; j++) 위 for loop 문의 j < m 까지라는 게 내부 while 문까지 적용되는 건가요?Question3 2주차 문제 4659에서 isVowel을 아래와 같은 방식으로 작성하셨는데요.bool isVowel(int idx){ return (idx == 'a' || idx == 'e' || idx == 'i' || idx == 'o' || idx == 'u'); } ... ... if (isVowel(idx))... 이를 아래와 같이 문자열로 만들어서 이 내부를 탐색하는 건 어떻게 생각하시나요? 저 위에 isVowel도 결국은 각각 일치하는지 탐색하는 거이지 않나요?string f = "aeiou"; int main() { for (char w : word) { if (f.find(w) == string::npos) ... } }
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
[알고리즘 교안] pop_back 컴파일 오류
컴파일러 설정도 제대로 했고, 코드도 그대로 쳤는데 컴파일 오류가 났습니다.답변해주시면 감사하겠습니다~
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-B 보물섬 int형 풀이
안녕하세요 선생님 항상 좋은 강의를 제공해주셔서 감사합니다.int형으로 풀어봤는데 코드리뷰 한 번 부탁드립니다. http://boj.kr/2a00c7aee3a64a95b52d0d889ee1c1f0