이런 문제는 본적이 없는데.. 라고 보이는것들은 아예 손을 못 대겠습니다. 300문제 이상을 풀었는데, 풀었던 300문제 중에 정말 문제가 거의 똑같이 나오지 않는 이상, 혹은 응용의 수준이 정말 값 변경 정도가 아니면 새로운 문제를 볼 때마다 아이디어가 안 떠오릅니다. 아이디어가 떠오르지 않는 제 머리를 원망하게 됩니다. 더 푸는 수밖에 없을까요.. 계속 제자리 걸음에 멈춰서는것같아서요
안녕하세요! 이번에 프론트엔드 직무 필기전형(코딩테스트 포함)을 준비하고 있습니다. 코딩테스트는 알고리즘 중심 문제보다는 Vanilla JS 기반의 실무형 문제, 예를 들어 • DOM 조작 • 이벤트 처리 • 사용자 입력/인터랙션 대응 같은 유형이 나온다고 들었습니다. 문제는 제가 JS는 기본 문법만 익힌 상태이고, 코딩테스트 경험도 예전에 C 언어로 잠깐 해본 게 전부라, 어떤 파트를 먼저 정리하고 어떤 순서로 강의를 들어야 할지 잘 모르겠습니다. 필기전형까지 5일 정도 남은 상황에서, 1. 어떤 부분을 먼저 우선순위로 잡아야 할지(강의파트) 2. DOM 조작/이벤트 구현 중심의 테스트는 어떻게 접근하면 좋을지 조언 해주신다면 정말 감사하겠습니다!
안녕하세요. 현재 강의 잘 따라가면서 꾸준히 복습하고 있는 학생입니다. 다름이 아니라 호기심에 대기업 코딩테스트 기출문제들을 훓어봤는데요. '어떤 알고리즘을 써야겠다'는 커녕 문제의 이해조차도 어렵더라구요 ㅠㅠㅠ 아주 낙담했습니다.. 선생님께서는 여러 대기업 코딩테스트를 합격하신걸로 아는데, 선생님께서도 이러한 경험이 있으셨나요? 문득 지금 이렇게 알고리즘을 공부해도 나중에 실전에 가서 잘 써먹을 수 있을까? 라는 생각이 자꾸만 들더라구요.. 그래도 이 악물고 하는중입니다... 실전에서도 강한 실력을 키우기 위해서 강의와 함께 병행하면 좋은것이 뭐가 있을까요? 계속 알고리즘 문제를 푸는 방법밖에는 없을까요? 확신이 안 서네요 ㅠㅠ
안녕하세요. 선생님 ! 선생님 강의 잘 듣고 있는 컴공과 대학생입니다. 제가 이번에 소프트웨어 마에스트로를 준비하려고 합니다. 방학 때 프로젝트를 하나 한 뒤 준비를 시작해서 시간이 얼마 남지 않았습니다. 이번에 소마는 1차(2월 22일), 2차(3월 8일)로 나뉘어 있고 1, 2차에 어떤 문제가 나오는지 알려줘서 1차를 먼저 집중해서 공부하려고 합니다. 1차 전형 문제는 아래와 같습니다. (기본 알고리즘) 기본적인 알고리즘(완전탐색, 정렬 등)과 자료 구조(배열, 스택, 큐 등)를 이해하고 적절히 활용할 수 있는 능력 검증 (SQL) JOIN, UNION 등 기본적인 함수를 사용한 쿼리를 작성할 수 있는 SQL 활용 능력 검증 2차 전형 문제는 아래와 같습니다. (심화 알고리즘) 복잡한 알고리즘(동적계획(DP), 깊이/너비 우선 탐색(DFS/BFS), 그래프 등)과 고급 자료 구조를 활용할 수 있는 능력 검증 (SQL) 다양한 함수를 활용한 복잡한 쿼리를 작성할 수 있는 SQL에 대한 깊은 이해와 활용 능력 검증 여기서 여쭙고 싶은 게 2가지 있습니다. 선생님께서 준비해주신 문제와 강의가 DFS나 BFS가 2주차에 나와있습니다. 이 부분은 건너뛰고 3주차를 풀어도 되는지 궁금합니다. 강의 목록에 보면 정렬이 포함된 섹션이 없는 것 같습니다. 혹시 준비해주셨는데 제가 못 찾은 것은 아닌지 아니면 따로 공부 해야 하는건지 궁금합니다. 여기까지가 질문입니다. 감사합니다.
강사님 안녕하세요. 매번 알고리즘을 미루다가 이제 더이상 미룰 수 없어 빠듯하게 학습을 진행하고 있습니다. 강의 관련된 내용은 아니라 질문 드려도 될지 잘 모르겠네요. 문제가 된다면 삭제하겠습니다. 1) 뒤집어 질 경우 2) 첫 번째 원소가 0인지 1인지 이런 문제를 해결할 수 있는 방법?을 떠올리기 까지 시간이 너무 오래 걸려요. (못 떠올리긴 했지만) 떠올리기 까지도 시간이 너무 오래걸려서 결국 정답 코드를 확인하곤 합니다. 과연 학습을 하여도 이런 방법을 떠올릴 수 있을지 걱정이 앞서네요. 제가 제대로 된 학습방법을 가지고 학습을 하고 있는걸까요? 저는 Java로 코딩 테스트를 준비하고 있습니다. 강의 자료(노션)에 있는 원 문제 링크를 들어가 혼자 문제를 먼저 풀어보곤 해요. 그러고 이해가 안되는 건 해설 영상을 보거나, 개념이나 이론 부분은 영상을 봅니다. 제가 풀 수 있는 문제는 해설 영상을 건너뛰고 있습니다. 혼자 문제를 풀 때는, 원 문제 링크를 들어가 문제를 손으로 풀어보고 이해를 합니다. 문제를 보고 위에 작성한 1) 뒤집어 질 경우와 같은 해결할 수 있는 방법을 두서없이 주석에 막 적습니다. 그러고 이 방법이 맞겠는데? 싶으면 주석으로 수도코드를 작성합니다. 그러고 코드를 작성하고, 입력과 출력을 비교하며 제출을 합니다. 모든 공부법에 정답은 없겠지만, 제 학습법이 효율적인 학습법인지 + 저에게 맞는 학습법인지 모르겠습니다. 해결할 수 있는 방법을 떠올리는게 너무 힘들어요. 컴퓨터식 머리(?)가 부족한걸까요. 해결법을 떠올리는게 힘드네요. 잘 떠올리고 싶어요. 긴 글 읽어주셔서 감사합니다. 문제가 되면 삭제하겠습니다.
안녕하세요 나도코딩님 저는 백엔드 웹 개발자 가 되기 위해 나도코딩님 강의 를 학습 하고 있는 중 인 Leerungah(이릉아) 입니다. 제가 현재 나도코딩님 강의를 열심히 들으면서 제가 실습한 소스 코드들을 GIthub에 올려서 회사 면접 자리에서 제가 기술력을 높이기 위해서 어떻게 노력과 결과를 구현했는지를 관심 있으면 면접관 들에게 제 깃허브 링크로 남겨 보여드리고 싶은데 제가 클래스 후반 부분 까지 학습하였고 (중요 ) 지금 까지 혼자서 실습한 코드들은 학습하던 중에 해설을 참고하여 제가 예측한 결과와 또 예측한 부분이 다르다면 왜 틀렸는지 그러한 이유들을 나도코딩님의 해설들을 세세하게 적거나 간추리면서 주석으로 적은 부분이 꾀 많습니다 따라서 제 고민은 나도코딩님의 해설을 주석으로 적은게 있어서 GIthub로 올리는 것이 저작권에 문제가 될 수도 있지 않을까하다가(고민) 결국 해도 되는지 잘 모르겠어서 이렇게 허락을 구하려고 이렇게 글을 남기게됬습니다. 허락해 주신다면 제가 꼭 나도코딩님의 자바 강의 출처를 남기도록 하겠습니다.
안녕하세요 큰돌님! 백준 알고리즘 문제를 풀다 보면, 자꾸 최적화 욕심이 나곤 합니다. “이렇게 하면 더 나을 것 같은데?” 하며 풀다보면 시간이 꽤 흐르기도 합니다. 취업을 위한 코딩 테스트 공부에서는 단순히 문제의 의도에 맞춰 통과하는 것을 목적으로 해야 할까요? 아니면 더 효율적이고 확장 가능한 방법을 고민해보는 것도 의미가 있을까요? 아래 코드는 큰돌님 코드보다 빠르게 동작하긴 하지만, 문제가 변형되어 예를 들어 N=10이 아니라 N=100이고, 필요한 평수가 5가 아니라 10평인 경우에도 가격을 미리 계산하고 정렬(sorting)하는 방식이 여전히 효율적일지는 잘 모르겠습니다. 문제를 풀 때 주어진 조건보다 더 확장 가능한 상황까지 신경을 쓰고 싶은데 아직 방법이 떠오르지는 않는 것 같습니다. 이런 고민은 점차 후반 주차 문제를 풀면서 자연스럽게 해결되는 문제일까요? 아니면 현재 단계에서도 고민해 보는 것이 바람직한 걸까요? 조언 주시면 정말 감사하겠습니다! https://www.acmicpc.net/source/88073260 #include <bits/stdc++.h> using namespace std; struct Land { int price; int y; int x; }; bool isValid(const Land& a, const Land& b) { return abs(a.x - b.x) + abs(a.y - b.y) >= 3; } int p[10][10]; int N; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cin >> N; for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { cin >> p[i][j]; } } vector<Land> flowers; for (int i = 1; i < N - 1; i++) { for (int j = 1; j < N - 1; j++) { int price = p[i][j] + p[i - 1][j] + p[i + 1][j] + p[i][j - 1] + p[i][j + 1]; flowers.push_back({price, i, j}); } } sort(flowers.begin(), flowers.end(), [](const Land& a, const Land& b) { return a.price < b.price; }); int minCost = INT_MAX; int flowerCount = flowers.size(); for (int i = 0; i < flowerCount - 2; i++) { for (int j = i + 1; j < flowerCount - 1; j++) { if (!isValid(flowers[i], flowers[j])) continue; int currentCost = flowers[i].price + flowers[j].price; for (int k = j + 1; k < flowerCount; k++) { if ((currentCost + flowers[k].price) >= minCost) break; if (!isValid(flowers[i], flowers[k]) || !isValid(flowers[j], flowers[k])) continue; minCost = currentCost + flowers[k].price; } } } cout << (minCost == INT_MAX ? -1 : minCost) << '\n'; return 0; }
1. 현재 학습 진도 몇 챕터/몇 강을 수강 중이신가요? 어떤 알고리즘을 학습하고 계신가요? 여기까지 이해하신 내용은 무엇인가요? 2. 어려움을 겪는 부분 어느 부분에서 막히셨나요? 코드의 어떤 로직이 이해가 안 되시나요? 어떤 개념이 헷갈리시나요? 3. 시도해보신 내용 문제 해결을 위해 어떤 시도를 해보셨나요? 에러가 발생했다면 어떤 에러인가요? 현재 작성하신 코드를 공유해주세요 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다! 😊 안녕하세요 현재 2-10 수강중에 있습니다! 문제 풀면서 예제 문제에서 링크드리스트 구현은 딩코딩코님이 제공해주고 계신데요. 실제 코딩테스트를 봤을 때 링크드리스트 구현은 직접해야하는걸까요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하십니까 선생님, 이 문제 보자마자 bfs보단 dfs가 먼저 생각이 났고 머릿속에서도 dfs로 시뮬레이션 해보니까 과정이 잘 그려져서 dfs로 진행을 했습니다. 링크 : http://boj.kr/020903cff23948a9be3332ad6a3787fb 그러고 강의를 보니, 큐를 두 개나 만들어서 bfs로 푸시는 과정이 제가 작성한 코드보다 메모리도 훨씬 적게 사용하고 시간도 빠른 걸 보고 어떻게 바로 저런 생각이 들어서 문제를 풀 수 있는지 신기하면서도 제가 과연 시험장에서 비단 이 문제뿐만이 아니라 어떤 문제에 대해서 최대한 메모리를 적게 사용하며 시간도 적게 걸리는 풀이로 풀 수 있을지 고민이 많이 됩니다. 조언 부탁드립니다..
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 저도 선생님하고 같은 생각으로 접근했고 비슷하게 코드를 짤려고 했습니다. 하지만 1시간 2시간 넘어 가니까 이거는 강의봐야겠다라는 생각을 했습니다. 강의를 보고 좀만 더 생각해볼걸 그랬나라는 아쉬움이 강하게 드는데 선생님은 이럴 때 좀만 더 고민하면 풀릴거 같으면 몇시간이고 풀릴 때 까지 계속 하시나요???
안녕하세요 큰돌님. 저번에 비슷한 고민을 올렸었는데 아직 고민인게 있어서 남깁니다. 현재 개발 공부를 3개월째하고 있고 c언어와 자료구조 공부를 하고나서 큰돌님 강의를 듣고 있어요. 2-E 문제부터는 저번에 말씀드린 것처럼 1시간 이상을 고민해도 코드 구현을 하지 못하는 문제들이 거의 대다수이네요. 현재는 고민 해보는 시간은 가지고 나서 큰돌님 영상보고 따라 쳐보고 다시 영상보고 한줄 한줄 분석하면서 1, 3, 7, 21일 기준으로 문제를 30분내에 풀때까지 복습중인데. 이렇게 하면 문제를 암기를 하는게 아니인지, 이런 방식으로 계속해도 되는지가 궁금해서 다시 질문 남깁니다. 다른 공부를 하고 돌아와야할까요 아니면 이런 식으로 우직하게 진행하면 알고리즘 실력이 늘까요? 좋은 강의 감사합니다.