코린이 고민있습니다
2주만에 통과하는 알고리즘 코딩테스트 (2024년)
안녕하세요! 이제 막 코테를 준비하는 학생입니다! 완전탐색 부분을 영상으로 보고있는데, 약15~20분 정도 고민해봐도 접근법이 떠오르지 않으면 솔루션을 확인해봐도 괜찮을까요? 접근법이 도저히 떠오르지 않아 속상합니다 ㅠㅠ
- python
- 코딩-테스트
- 알고리즘
173만명의 커뮤니티!! 함께 토론해봐요.
2주만에 통과하는 알고리즘 코딩테스트 (2024년)
안녕하세요! 이제 막 코테를 준비하는 학생입니다! 완전탐색 부분을 영상으로 보고있는데, 약15~20분 정도 고민해봐도 접근법이 떠오르지 않으면 솔루션을 확인해봐도 괜찮을까요? 접근법이 도저히 떠오르지 않아 속상합니다 ㅠㅠ
자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
?
10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
큰돌님. 이거 비밀글이 맞는지는 모르겠습니다. 최근에 7대 IT회사 중 경력직 머신러닝엔지니어 코딩테스트를 봤는데요. 문제들이 하나같이 곧바로 유형만가지고 풀 수 있는 것은 없고 정말 그때그때 사례에 맞춰서 새로운 고민을 해야하는 유형이 두 세 가지가 한 문제에 들어있었어요. 세 문제 중에 두 문제는 어찌어찌 풀었지만 채점이 없어서 예외처리 실패한 것도 있었고, 한 문제는 제대로 손도 못댔거든요. 제가 아직 공부가 부족해서 그렇게 느껴지는 것일 수도 있지만 7시간의 시험을 보고 나서의 느낌은, 이렇게 어렵다면 내가 아무리 공부해도 안되지 않을까..? 애초에 코딩 천재들만이 되는 것일까? 하는 생각이 들었습니다. 이럴 때 어떻게 해야할지.. 고민이 됩니다. (경력직이라서 사실 부담없이 생각했고 실버정도로 짐작했었는데 큰 오판이었어요. 저는 현재 파이썬으로만 개발&머신러닝을 했고 4년 경력입니다..큰돌강의는 2달째로 현재 6주차 하고 있습니다.) 물론, 제가 아직 완전히 모의고사까지 다 잘 풀 수 있는 수준이 되기 전에 조금 일찍? 코딩 테스트를 본 것도 있지만 그 정도 수준의 문제라면 어쩌면 제가 공부를 다 해도 못 풀지도 모른다는 걱정이 들어서 이렇게 고민을 상담합니다... (문제 중에서는 유저들의 이메일과 아이디에 오타나 부계정으로 판단되는 것들을 Levenstein 편집거리를 응용해서(그것인지 이해해야만 알 수 있는.. replace부분만 빼기) 다시 짜야 하는 그런 스타일이었고, 그 이후에도 겹치는 유저들을 제거하고 최종적으로 unique한 유저의 숫자를 return 하는 문제가 그나마 풀만한 거 였습니다..) 그 외에도 preorder traversal이 유효한지 아닌지를 판단하는 문제 등 제 수준에서는 골드 2~3이상으로 느껴지는 어려운 문제 2개가 더 있었어요.) 어떻게 준비해야할지 고민이 되서 도와주세요. (단문 위주의 백준 스타일로만 준비 해도 될지. 제가 이렇게 좌절하는게 당연한건지, 프로그래머스 같은 장문 문제를 보고 유형이 보이지 않는 문제 등등)
자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
강의를 보던 중 궁금한게 생겨 질문을 남깁니다...! 처음으로 코테 공부를 시작하였는데 현업에서 사용하던 버릇이 있어서 자꾸 자동완성과 라이브러리를 최대한 활용하여 문제를 풀려고 하더라구요 혹시 이러한 습관이 코테 공부에 방해가 될지 궁금합니다.
10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
안녕하세요! 현재 파이썬은 문법만 어느정도하고 c언어도 파이썬 만큼은 아니어도 포인터에 대한 이해를 한 소프트웨어학과 2학년 재학중인 학생입니다. 길을잡지 못하고 방황하고있습니다...ㅜㅜ 백엔드, 프론트엔드, iOS 등 할거를 찾으면서 Java도 문법을 조금 해보고 Swift도 조금 해보면서 어떤 분야가 나한테 맞을까 하면서 분야를 찾고있는데 결국 찾지 못했습니다...ㅜㅜ 사실 Mac을 사용중이여서 iOS를 해볼까 했었습니다. 그런데 Native앱들이 요즘 시장이 점점 하이브리드 시장에 먹히면서 수요가 점점 줄기도 하고 Web기술도 계속 발전을 하면서 Web뷰를 이용한 앱들 또한 성장을 해서 네이티브앱 개발자들의 자리가 점점 줄어든다고 해서 분야를 선택하고 있지 못하는 상황입니다. 혹시 큰돌님께서는 개발자 분야를 선택하실 때 참고하신게 있나요? 현재 여름방학동안 분야 선택을 하면서 이것저것 찍먹만하고 이렇다할 성과를 거둔것이 없어서 너무 고민입니다... 그래서 뭐라도 해보자는 생각으로 코딩 테스트 준비라도 하려고 구입을 했습니다. 그런데 큰돌님 유튜브 영상에서는 프로젝트를 하나 할정도의 실력을 갖추고 cs공부를 어느정도 한 상황에서 알고리즘을 학습하라고 하셨는데 이 강의를 나중에 (만약에 백엔드 분야를 선택했을 경우) 백엔드를 어느정도 숙련될 정도로 학습을 하고 듣는 것이 좋을까요?
10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
하반기 공채 생각중인데, 현재 JS로 어느정도 준비한 상태인데, c++을 새로 익혀서 하는게 좋을까요?? 괜히 c++로 코테 언어 바꿨다가 헷갈릴 것 같아서요.. 준비할 것도 많고 맘이 조급한데 c++ 괜히 시도했다가 시간낭비 될 것 같다는 생각이 들어요
10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
#include <bits/stdc++.h> using namespace std; int ret, n; struct Board{ int a[24][24]; void _rotate90(){ int temp[24][24]; for(int i=0; i<n; i++){ for(int j=0; j<n; j++){ temp[i][j] = a[n-j-1][i]; } } memcpy(a,temp,sizeof(a)); } void _move(){ int temp[24][24]; for(int i=0; i<n; i++){ int c = -1; int d = 0; for(int j=0; j<n; j++){ if(a[i][j] == 0) continue; if(d && a[i][j] == temp[i][c]) { // c가 -1이어도 인덱스아웃이 안나네..? temp[i][c] *= 2; d = 0; }else{ temp[i][++c] = a[i][j]; d = 1; } } for(c++; c<n; c++) temp[i][c] = 0; } memcpy(a,temp,sizeof(a)); } void get_max(){ for(int i=0; i<n; i++){ for(int j=0; j<n; j++){ ret = max(ret, a[i][j]); } } } }; void go(Board c, int here){ if(here == 5){ c.get_max(); return; } for(int i=0; i<4; i++){ Board d = c; d._move(); go(d, here+1); c._rotate90(); } return; } int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> n; Board c; for(int i=0; i<n; i++){ for(int j=0; j<n; j++){ cin >> c.a[i][j]; } } go(c,0); cout << ret << "\n"; return 0; } 위의 코드는 강의내용과 같은 코드입니다. 강사님의 코드에서 move함수에 사용했을때 처음 c가 -1이면 if(d && a[i][j] == temp[i][c]) 이 가정문에서 temp[i][-1]이런경우가 되서 인덱스오류가 발생할거라 생각했는데 문제없이 넘어가는데 왜 그런건지 이해시켜주실 수 있을까요?
스프링 DB 2편 - 데이터 접근 활용 기술
커뮤니티에서 Mybatis 관련 비슷한 오류가 많아 보이길레, 여러분들의 시간을 아껴드리고자 제가 해결한 방법을 공유해드립니다. Mapper bean not found 저의 경우 Spring Boot 버전과 MyBatis 버전 불일치 문제여서 Mapper 빈 생성이 정상 작동하지 않았었습니다. (Mapper Spring 연동 모듈이 정상 작동하지 않은 문제??) // build.gradle plugins { id 'org.springframework.boot' version '2.6.5' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java' } 스프링 부트 3.0 이상 버전만 썼기 때문에 습관상 당연히 3.0 버전과 호환이 되는 MyBatis 버전 3.0.1 을 설정했지만 위와 같이 영한님의 수업 자료로 진행하셨다면 스프링 2.6.5 로 설정되어 있기 때문에 // build.gradle dependencies { //MyBatis 추가 implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.0' } 이렇게 바꾸시면 되실 겁니다! Invalid boud statement (not found) XML 파일에 오타가 있거나 XML 파일 경로 설정이 이상할 경우 발생하는 오류라 합니다 ItemMapper.xml 파일 경로를 잘 따라한 것 같엤는데 경로가 복잡하기도 했고 그래서 pdf 수업 자료 2번째 방법인 resources/mapper/ItemMapper.xml 로 xml 파일을 옮겼고 (기존 껀 부모 디렉토리까지 삭제) // application.properties #MyBatis mybatis.type-aliases-package=hello.itemservice.domain mybatis.configuration.map-underscore-to-camel-case=true logging.level.hello.itemservice.repository.mybatis=trace mybatis.mapper-locations=classpath:mapper/**/*.xml 설정 파일에 마지막 줄 (mapper 경로 설정) 을 추가해서 해결했습니다. 저와 동일한 문제가 아니신 분들도 계시겠지만 같은 수업 자료에서 출발했기 때문에 비슷하게 해결되지 않을까 싶어서 글 적었습니다! (질문글이 아니지만)
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
안녕하세요. 김영한쌤 로드맵 따라가려고 하는데 강의순서를 보아하니 "스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술" 보다 현재 이 강의가 더 먼저 듣는걸로 되어있던데 맞나요? 아니면 "스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술" 이게 좀더 이 입문 강의보다 기초적인 강의인가요? 서블릿 개념부터 제대로 알고싶으면 "스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술" 이걸 듣는게 맞는걸까요? 조언 부탁드릴게요 ㅠㅠ
스프링 부트 웹 개발 입문 - 따라하며 배우기
삭제된 글입니다
스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
안녕하세요, 여기에 여쭙는 것이 맞을까 고민하다가 혼자 해결할 별다른 방도가 없어서 부득이하게 글을 남깁니다. 강의와는 조금 동떨어져 있는 고민일 수 있지만 읽어주시면 감사하겠습니다. 얼마 전까지 저는 개인 토이 프로젝트를 구현할 때, MVC 강의에서 가르쳐주신 세션 방식의 로그인을 사용하였습니다. 그런데, 취업을 위해 여러 포트폴리오나 프로젝트 예시들을 보고 OAuth2 를 이용한 로그인 방식을 적용해보기로 마음 먹었습니다. 그래서 주로 인터넷을 통해 스프링 시큐리티와 OAuth2에 대한 자료들을 찾아 공부했는데, 공부를 하면서 다소 부족하다는 느낌을 많이 받았습니다. 스프링 시큐리티 기술의 난이도가 높은 탓인지 사용되는 모든 코드에 대한 명쾌한 설명을 얻을 수 없었기 때문입니다. 그리고 무엇보다도 찾아본 예제들에서 액세스 토큰을 다루는 방식들이 제각각 보안 취약점을 갖고 있다보니 이 코드들이 정말 실무에서 그대로 활용될 수 있는 코드들인지 확신할 수 없었고, 실무에서는 클라이언트와 서버가 어떠한 방식으로 액세스 토큰을 주고 받게끔 설계할지 감이 잘 오지 않았습니다. (이에 비하면 사소한 문제긴 하지만, 최근 스프링 시큐리티 6이 나오고, 여러 기능이 deprecate 된 탓에 코드를 그대로 적용하지 못하고 일일이 찾아보면서 수정해야 하니 더 까다롭게 느껴지기도 했습니다.) 때문에 강의나 서적을 통해 스프링 시큐리티를 활용하는 방법을 제대로 이해할 필요가 있지 않을까 하는 생각을 하게 되었습니다. 다만, 저는 취업을 목적으로 공부하고 있고, 시간이 한정되어 있는 상황에서 새로운 기술을 습득하는 데에 많은 시간을 쓰는 것이 조금 걱정이 되기도 합니다. 때문에, 기업에서 보통 신입 개발자에게 스프링 시큐리티 기술에 대해 어느 정도 수준으로 이해하고 있을 것을 요구하는지 여쭤보고자 합니다. 물론 당연히 기업마다, 상황마다 다를 수 있기에 어리석은 질문이라는 생각이 듭니다. 하지만, OAuth2 로그인 적용을 위해 해당 기술의 개념과 적용 코드들을 깊이 있게 공부하는 것보다, Spring MVC와 DB 접근 기술, Spring Data JPA 등의 이해도와 활용 능력을 키우는 것이 중요하다면, 후자에 집중하고 싶다는 마음이 큽니다. 긴 글 읽어주셔서 감사하고, 양질의 강의 제공해주셔서 정말 감사합니다.
it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
강의 자료를 다운로드 하려는데 크롬에서 위험한 자료라고 계속 거부당하는데 어떻게 다운 받으셨나요 다들??
스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
나에겐 영한이형 밖에 없쒀.... 지옥불구덩이에서 꼭 탈출 성공할게... !!!! 매일 일끝나고 공부하고, 주말에도 공부하고... 빡공중....!! 더열심히 빡공해야지!!!!! 으자자자자자자!!!! 스프링 마스터 가즈아!!!!!!!!!!! 흑흑... 오늘 완전 콜센터였어....... 미안해 반말해서... 형이랑 더 가까워지고싶어서 그랬어. 열심히 수강하고 만들어서 이직 성공 꼭 할게!!!! 형 인강은 내가 다 다서 들을거야....! 사랑해♡
10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
현재 1주차를 막 끝내가려고 합니다 아직은 백준기준 브론즈~실버 수준의 문제라 크게 복잡한부분은 없어 먼저 풀어보고 풀수있는 이론이 생각 나지않을때 큰돌님의 이론설명과 참고코드를 참고하여 핵심적인 부분을 체크하여 문제를 풀어보고 있습니다 알고리즘 메인적인 구현로직은 같아도 세부구현이나 로직의 재현이 제가생각한것과 참고코드가 다른부분이 있을때에 큰돌님의 참고코드를 기반으로 다시한번 풀어보는게좋을까요? 다풀어본문제도 참고코드를 확인하면서 다시한번 큰돌님의 강의방식대로 풀어보는게 더 좋을지 궁금합니다 감사합니다.
10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
안녕하세요 선생님! 이번에 선생님 코딩테스트를 완강하고 교안, 개념, 한번에 풀지 못했던 문제, 햇갈리는 문제를 하루에 조금씩 다시보면서 이 감을 유지하는 식으로 공부를 이어나가고 있습니다. 하나의 강의를 끝내니까 뭔가 기분이 좋아서 내친김에 선생님 CS책도 구매해서 열독했는데요! 이 강의와 관련있는 질문은 아니지만 궁금한 점이 생겨 질문드립니다. 일단 제 목표는 대기업에 합격하는 방법 영상을 보고 이에 맞춰서 하나하나 따라가는 중입니다. 또 백엔드 개발자를 희망중입니다. 궁금한 점은 이 CS책만으로도 혹시 충분할까요? 아니면 추가로 인터넷에서 더 찾아보면서 공부해야할까요? 하루 30분만 공부하라고 하셨는데 음... 제 머리에 도저히 잘 안외워집니다ㅠㅠ 선생님이 말씀하셨던 것처럼 예를 들어 디자인 패턴 중에 팩토리 패턴은 뭐죠?! 라고 물어보면 술술 안나올 것 같은데... 아예 완전히 외울때까지 계속 보면서 넘어가야할까요? 아니면 한번은 그냥 슥보고 그 다음부터 아예 완전히 습득할 때까지 보는게 나을까요?! 비전공자라 CS가 많이 부족한데 이 강의로 자료구조, 알고리즘 부분도 많이 채우고 책 덕분에 한시름 덜은 것 같습니다 감사합니다!
10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
안녕하세요 강사님. 강의 열심히 듣고 있는 학생입니다. 코딩테스트를 준비하면서 연습문제를 푸는데 말 그대로 구현이 너무 오래걸려서 고민입니다. 문제를 보면 어떻게 풀어야 할지, 시간복잡도는 어느정도가 될지 곧 잘 파악한다고 생각하는데 구현까지 너무 오래걸립니다... 기본적으로 3시간 이상 붙잡고 있는 것 같습니다... 코딩테스트가 경시대회 문제가 아니니 풀리지 않으면 답을 보고 넘어가라는 많은 분들의 조언을 들었고 저 역시도 그렇게 생각하나 키보드만 잡고 문제를 풀다가 보면 시간이 훌쩍 지나가 있어 매번 너무 고통스럽습니다.. 그렇다고 30분~1시간 내로 구현이 안되면 답을 보고 넘어가기엔 기본적인 로직조차 구현하지 못하고 답을 보게 되는지라 너무 답만보는 듯한 느낌이 들고, 그 이상이 넘어가면 어느새 삽질하고 있는 저를 발견하네요. 어떻게 하면 좋을까요.. 너무 답답해서 글 올립니다. 감사합니다.
10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
안녕하세요 선생님의 강의 2주차를 수강하고 있는 학생입니다. 컴공 전공생이고, 현재 2학년 재학중에 있습니다. 개념 강의를 다 듣고 문제를 풀고 있습니다. 문제 해설강의 전에 먼저 고민해보고 문제를 풀려는데 문제가 너무 어려워 하나도 스스로 풀어보지 못하고 있습니다. 로직을 떠올리는 것과 구현하는 것은 물론, 문제 자체를 이해하기 힘들 때도 많습니다. 그런데 어떻게든 이번 주차는 이번 주 안에 끝내야겠다는 생각 때문에 마치 수학 공부할 때 주구장창 답지만 외우는 것처럼 다짜고짜 해설 강의만 듣고 블로그에 기록하고 있습니다. 이렇게 공부하고 있는 게 맞는 걸까요? 너무 지치고 자괴감만 듭니다...
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
강의를 들으면서 정말 백엔드 개발자 쉽지 않구나 라는것을 느끼고 있습니다. 어느정도의 흐름은 파악 했는데 이걸 100프로 내꺼다 라고 할 수는 없는 상태라고 생각합니다. 누가 물어보면 야무지게 설명은 못하겠지만 속으로는 음..이런 흐름? 이런 느낌인데요 한번 처음부터 다시 듣는게 좋을까요(해당 강의를) 아니면 스프링 강의 전체를 끝까지 다 듣고 다시 한번 스프링 강의 전체를 처음부터 듣는게 좋을까요? 어떤 선택이든 한번 듣고 끝은 아닙닙니다만 어떻게 할지가 고민입니다. 개인적으로는 100프로 이해를 못해도 ( 0프로 이해면 다시 듣습니다) 일단 끝까지 한번 다 듣고 다시 한번 들으면 쯤 더 이해가 잘 되는 스타일인데 앞으로 있을 강의에서 특정 강의 내용을 이해하지 못하면 다음으로 나가는게 쯤 힘들까요? 근데 또 글을 쓰다보니까 그냥 끝까지 다 듣고 다시 한번 들을떄는 쯤 더 여유롭게 꼼꼼하게 기록하면서 듣는 방향으로 가봐야겠습니다. 고민이였는데 글을 쓰다보니 해결 되었네요 감사합니다.
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
일시정지하며 열심히 따라치고는 있는데 말씀하시는 내용이 무슨 말인지 잘 모르겠어요 ㅠ 원리 같은거 하나도 이해가 안되고 모르는 개념이 너무 많네요 이대로 계속해도 되는걸까요..? 다 수강하고 기본편 들어도 되나요? 자바 언어를 제대로 배우고 와야하는걸까요
자바 코딩테스트 - it 대기업 유제
안녕하세요! 강사님! 알고리즘을 계속 연습하는 학생입니다. 질문에 앞서 간단히 공부과정을 말씀드리면 작년 12월 쯤 부터 해서 현재까지 꾸준히 알고리즘 문제를 풀어보면서 공부하고 있습니다. 지금까지는 절대적인 알고리즘 문제 경험이 적어서, 절대적인 시간 투자와 많은 문제에 도전하는 방식으로 공부했고, 정말 아예 이해가 안가거나 특정 알고리즘 대회 혹은 코테 문제들은 직접 참여해서 개인적으로 정리해서 기록해놓고, 다시 복기해보는 과정을 하고 있습니다.(그럼에도 다시 풀면 여전히 못풀긴 하더라구요..) 간혹, 알고리즘 문제를 풀어낼 때 제가 전혀 생각하지 못한 방법으로 풀이가 되는 문제들이 있는데(ex, 시뮬레이션-비밀번호), 저는 도저히 그 풀이에 대한 접근이나 생각까지는 도달하지 못하는 것 같습니다. (저는 20만번 * 8번 방향 탐색으로 풀었습니다.) 어떻게하면 그런 풀이나 접근을 생각해 낼 수 있는지... 그 사고과정을 연습하는 방법이 따로 존재하는 것인지 궁금해서 글 남겨봅니다. 질문을 요약하면 다음과 같습니다. 생각지 못한 풀이과정을 도출할 수 있는 사고연습(생각하는 연습)이나 방법이 존재하는것인지? 1-1. 있다면 댓글을 통해 알려주실 수 있는지? 해당 알고리즘 강의를 저같은 사람이 어떻게 활용해 보는것이 좋을지? 긴 글 읽어주셔서 감사합니다.