소개
- 現 어비스 대표 및 리드개발자
- 前 네이버 개발자
- 4년차 알고리즘 강사(네이버 / 카카오 / 라인 / 삼성 코딩테스트합격자 배출)
- 19, 20 IT 대기업 코딩테스트 합격자(All Solved)
- 자바스크립트 테스트 프레임워크 Mocha.js contributor
- 저서 《 면접을 위한 CS전공지식노트 》 2022 / 국내IT도서 1위 베스트 셀러
- 저서 《 실시간 모니터링 시스템을 만들면서 정복하는 MEVN 》 2021 / 국내IT도서 63위 베스트셀러
강의
전체2수강평
- 헷갈리는 부분 정말 친절하게 설명해주십니다 !!
장혁준
2024.05.24
1
게시글
질문&답변
2024.05.31
온라인 코딩 테스트는 오픈북인가요?
안녕하세요 형국님 ㅎㅎ 온라인 코딩 테스트는 검색이나, 자신이 예전에 짜놨던 코드, 아니면 기타 서적 같은 것을 참고해서 보는 것이 가능한가요? >> 테스트마다 다른데 보통의 기업 코딩테스트의 경우 녹화하면서 진행되기 때문에 해당 부분은 불가능한 것으로 알고 있습니다. 어느정도의 코드는 다 암기하고 보셔야 합니다. 또 질문 있으시면 언제든지 질문 부탁드립니다. 좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :) 감사합니다. 강사 큰돌 올림.
- 0
- 1
- 35
질문&답변
2024.05.31
3-B 보물섬 코드 질문입니다.
안녕하세요 yuniv님 ㅎㅎ 정말 잘 짜셨네요 ㅎㅎ scanf와 printf를 이용하신다면 다음과 같이 구축하시면 됩니다. #include using namespace std; int n, m, md; char a[54][54]; int visited[54][54]; const int dy[] = {-1, 0, 1, 0}; const int dx[] = {0, 1, 0, -1}; void bfs(int y, int x){ memset(visited, 0, sizeof(visited)); visited[y][x] = 1; queue > q; q.push({y, x}); while (!q.empty()) { tie(y, x) = q.front(); q.pop(); for (int i = 0; i = n || nx >= m) continue; if (visited[ny][nx]) continue; if (a[ny][nx] == 'W') continue; visited[ny][nx] = visited[y][x] + 1; md = max(visited[ny][nx], md); q.push({ny, nx}); } } } int main() { scanf("%d %d", &n, &m); for (int i = 0; i 만약 %c 이런식으로 받고 싶으시다면. for (int i = 0; i 이렇게 하시면 됩니다. 이부분은 사실 교안에 있는 내용인데요 ㅎㅎ 해당 부분 참고 부탁드립니다. (사진) 하지만 전체적으로 너무 잘 짜셨습니다 ㅎㅎ 코드가 너무 깔끔합니다. 또 질문 있으시면 언제든지 질문 부탁드립니다. 좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :) 감사합니다. 강사 큰돌 올림.
- 0
- 2
- 31
질문&답변
2024.05.31
1-I 1620 맞왜틀입니다
안녕하세요 Gose님 ㅎㅎ 전체적으로는 잘 짜셨지만 부분적으로 틀린 부분이 있습니다. 이렇게 바꿔보시겠어요? const input = require('fs') .readFileSync(process.platform === 'linux' ? '/dev/stdin' : './input.txt') .toString() .split('\n'); const [N, M] = input.shift().split(' ').map(Number); const poketmon = input.slice(0, N); const question = input.slice(N, N + M); const nameToIndex = new Map(poketmon.map((name, index) => [name, index + 1])); const indexToName = new Map(poketmon.map((name, index) => [index + 1, name])); let answer = ''; question.forEach((q) => { if (isNaN(q)) { answer += nameToIndex.get(q) + '\n'; } else { answer += indexToName.get(Number(q)) + '\n'; } }); console.log(answer.trim()); 그리고... 제 강의는 C++강의라 원래는 다른 언어로는 질문을 받지 않습니다. ㅎㅎ 다음부터는 C++로만 질문 부탁드립니다. 또 질문 있으시면 언제든지 질문 부탁드립니다. 좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :) 감사합니다. 강사 큰돌 올림.
- 0
- 1
- 38
질문&답변
2024.05.30
While 문 질문입니다
안녕하세요 sunny님 ㅎㅎ 이부분은 교안에도 나와있는데요. ㅎㅎ find부분을 보시면... 다음과 같이 나와있습니다. 😃 find(문자열) 특정 문자열을 찾아 위치를 반환합니다. 만약 해당 문자열을 못 찾을 경우 string::npos를 반환하며 O(n)의 시간복잡도를 가집니다. string::npos는 size_t 타입의 최대값을 의미합니다. size_t 타입의 최대값은 OS에 따라 달라지며 64비트 운영체제라면 64비트 부호가 없는 최대정수, 32비트 운영체제라면 32비트 부호가 없는 최대 정수값을 가집니다. 필자의 컴퓨터는 64비트 운영체제이기 때문에 18446744073709551615라는 값을 가집니다. 또 질문 있으시면 언제든지 질문 부탁드립니다. 좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :) 감사합니다. 강사 큰돌 올림.
- 0
- 2
- 29
질문&답변
2024.05.30
2-B. 유기농 배추 질문있습니다.
안녕하세요 룰루님 ㅎㅎ for (int i = 0; i 이부분을 while문이 아닌 for문으로 하셨다는거죠? for문과 while문의 시간복잡도는 크게 상이하지 않습니다. for문도 괜찮고 while문도 괜찮습니다. 또한, while문의 시간 복잡도를 구하는게 조금 헷갈리는데 간단하게라고 설명 해주시면 감사하겠습니다. >> while문이 얼마나 동작했나를 보시면 됩니다. 이 문제의 해설코드 같은 경우 while(T--)를 했기 때문에 while문의 시간복잡도는 O(T)가 됩니다. 다만, 이 코드를 제출했을 때 틀렸습니다가 나오는데 혹시 코드 잘못올리신게 아닌가요? 또 질문 있으시면 언제든지 질문 부탁드립니다. 좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :) 감사합니다. 강사 큰돌 올림.
- 0
- 1
- 32