이런 문제는 본적이 없는데.. 라고 보이는것들은 아예 손을 못 대겠습니다. 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) 뒤집어 질 경우와 같은 해결할 수 있는 방법을 두서없이 주석에 막 적습니다. 그러고 이 방법이 맞겠는데? 싶으면 주석으로 수도코드를 작성합니다. 그러고 코드를 작성하고, 입력과 출력을 비교하며 제출을 합니다. 모든 공부법에 정답은 없겠지만, 제 학습법이 효율적인 학습법인지 + 저에게 맞는 학습법인지 모르겠습니다. 해결할 수 있는 방법을 떠올리는게 너무 힘들어요. 컴퓨터식 머리(?)가 부족한걸까요. 해결법을 떠올리는게 힘드네요. 잘 떠올리고 싶어요. 긴 글 읽어주셔서 감사합니다. 문제가 되면 삭제하겠습니다.
자바스크립트 비기너: 튼튼한 기본 만들기 현재 이강좌를 신청했는데요 새로 또 자바스크립트 강좌가 개설되더라구요 클린업 JavaScript: 점프업! 이런강좌가 출시되었는데 내용상 겹침이 어느정도인지 궁금해서요;;;; 강사님의 강좌는 현재 출시된것빼곤 전부 구입해둔상태입니다.
안녕하세요 큰돌님! 백준 알고리즘 문제를 풀다 보면, 자꾸 최적화 욕심이 나곤 합니다. “이렇게 하면 더 나을 것 같은데?” 하며 풀다보면 시간이 꽤 흐르기도 합니다. 취업을 위한 코딩 테스트 공부에서는 단순히 문제의 의도에 맞춰 통과하는 것을 목적으로 해야 할까요? 아니면 더 효율적이고 확장 가능한 방법을 고민해보는 것도 의미가 있을까요? 아래 코드는 큰돌님 코드보다 빠르게 동작하긴 하지만, 문제가 변형되어 예를 들어 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로 푸시는 과정이 제가 작성한 코드보다 메모리도 훨씬 적게 사용하고 시간도 빠른 걸 보고 어떻게 바로 저런 생각이 들어서 문제를 풀 수 있는지 신기하면서도 제가 과연 시험장에서 비단 이 문제뿐만이 아니라 어떤 문제에 대해서 최대한 메모리를 적게 사용하며 시간도 적게 걸리는 풀이로 풀 수 있을지 고민이 많이 됩니다. 조언 부탁드립니다..
안녕하세요 선생님! 이번에 웹퍼블리셔로 취직하기 위해 강의를 구매했으나 구매한 강의 중 어떤걸 먼저 들어야 할지 고민이 되어 질문드립니다. (국비학원을 다녔어서 기초지식은 있는 상태입니다) 구매한 강의는 아래 3개입니다 😀 HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌3) 면접과 취업을 부르는 '퍼블리셔 개인 포트폴리오 홈페이지' 제작 퍼블리셔 개인 포트폴리오 홈페이지 제작 완벽 가이드(PDF)