inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

1주차 개념 #1. 시간복잡도(time complexity)

AI 코딩 도구 사용 시 학습 방법 조언

해결된 질문

52

오희준

작성한 질문수 1

0

안녕하세요.

사내 코딩 테스트를 준비하고 있는 직장인입니다.

작년까지만 해도 사내 코딩 시험에서는 PQ, 그래프 (BFS, 다익스트라) 와 같이 어느정도 자주 출제되는 알고리즘들이 있었는데 올해부터 시험에서 AI 도구를 사용할 수 있게 되며 출제 스타일이 많이 바뀐 것 같습니다.

AI 도구를 사용하여 문제를 풀 수 있는 코드는 바로 작성할 수 있지만 시간 내에 TC들이 통과할 수 있는 최적화 포인트는 직접 생각해낼 수 있어야 하더라구요.

이전에는 문제에서 요구하는 알고리즘의 구현에 초점이 맞추어져 있었다면 이제는 구현은 쉽게 가능해졌으니 최적화에 초점이 맞춰진 느낌입니다. 그래서 이전에는 자주 나오는 유형들을 위주로 공부했었는데 알고리즘과 자료구조의 기초부터 알아야 할 거 같아서 강의를 신청하게 되었습니다.

질문이 조금 애매하긴 하지만.. 항상 최적화에 애를 먹고 있는데 혹시 최적화 방법을 생각해내는 데 도움이 되는 공부 방법이나 시험에서의 팁이 있을까요?

아직 초반이지만 설명을 쉽고 재밌게 해주셔서 이해가 잘 됩니다. 좋은 강의 감사드립니다!!

코딩-테스트 학습방법

답변 2

0

큰돌

안녕하세요 희준님 ㅎㅎ

올해부터 시험에서 AI 도구를 사용할 수 있게 되며 출제 스타일이 많이 바뀐 것 같습니다.

-> 아마 S 사 이신거 같은데요 ㅎㅎ 아마 제가 생각했을 때의 최적화 부분은 다음과 같이 고려를 하면 좋을 거 같습니다.

  1. 완탐: 완전탐색의 경우의 수를 최적화한 것을 저희는 백트래킹이라고 하죠(가지치기를 추가해서).


  2. DP 또한 공간복잡도를 N^2으로도 할 수 있지만 N으로 만드는 최적화 방법


  3. BFS를 응용한 플루드필로 알고리즘 문제를 풀면 더 빠르게 풀 수 있습니다.

s사 기준으로 봤을 때는 크게 3가지라고 생각을 하구요.


이외 최적화가 아니라 어떤 알고리즘이 더해지는 부분도 있는거 같아요.

가령 구현 + BFS 라던가, DP를 응용한 TreeDP라던가 그런 부분들을 중점으로 보시면 될거 같습니다.



알고리즘과 자료구조의 기초

-> 네 맞습니다. 기초부터 공부하는게 답이라고 저도 생각해요. 최적화의 기본은 복잡도를 줄이는 것부터 시작합니다 가령 unordered_map의 기본 복잡도는 O(1)이지만 최악의 경우 O(N)이기 때문에 이부분을 고려해서 map을 쓴다거나 하는 등 부분이 있을 거 같아요.



항상 최적화에 애를 먹고 있는데 혹시 최적화 방법을 생각해내

-> 일단은 문제 푸시면서 또 질문주세요 ㅎㅎ 사실 이게 모호한 질문이긴해서요 ㅎㅎ





또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 오희준님.

최근 기업 코딩 테스트에서 AI 도구의 활용이 늘어나면서, 알고리즘 구현보다는 최적화와 문제 해결 능력에 중점을 두고 있는 트렌드에 대해 고민하신 것 같습니다. 이러한 변화에 적응하기 위한 몇 가지 팁을 드리겠습니다.

  1. 알고리즘의 깊이 있는 이해: 알고리즘의 기초뿐 아니라 각 알고리즘의 시간 복잡도와 공간 복잡도를 이해하는 것이 중요합니다. 최적화가 필요한 부분을 식별하기 위해 복잡도 분석에 능숙해질 필요가 있습니다.

  2. 문제 풀이 패턴 연습: 다양한 문제를 풀며 최적화 패턴을 파악해보세요. 문제 해결 과정에서 반복되는 최적화 트릭이나 패턴을 발견할 수 있습니다.

  3. 실제 문제 적용: LeetCode, HackerRank, Codeforces 같은 플랫폼에서 다양한 문제를 풀어보며 실제 문제에 최적화 기법을 적용해보세요. 특히, 토론 포럼을 통해 다른 사람들의 풀이를 분석하고 배우는 것이 좋습니다.

  4. 성능 측정 및 개선: 코드 작성 후 반드시 성능을 측정하고, 개선할 부분이 있는지 찾아보세요. 이는 최적화 능력을 향상시키는 데 큰 도움이 됩니다.

  5. 기술 블로그 및 문서 읽기: 더 복잡한 알고리즘 문제에 대한 설명이 풍부한 블로그나 기술 문서를 읽는 것도 좋은 학습 방법입니다. 특히 알고리즘 문제를 최적화한 사례를 찾아보세요.

이와 관련하여 더 많은 유익한 정보가 담긴 유사한 질문이 이곳이곳에 있습니다. 해답을 통해 추가적인 인사이트를 얻으실 수 있을 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

코딩살구클럽 가입부탁드립니다

0

27

2

코딩살구클럽 가입 요청 확인부탁드립니다

0

30

2

5-S 테스트 케이스 질문

0

34

2

코살 문제풀이 환경

0

48

2

2 - T 오큰수 문제가 있는 것 같습니다.

0

43

1

추천 추가문제들

0

43

2

프로그래머스 코테 환경 관련해서 질문드립니다.

0

45

2

해당 문제에 대한 채점이 코딩살구클럽에서 올바르게 처리되지 않습니다.

0

41

2

균형 이진 트리 설명 시 높이 숫자

0

30

2

4-H 질문드립니다.

0

35

2

1-K 질문드립니다.

0

41

2

대기업 인적성 시험 질문

0

41

2

4-C 질문드립니다

0

41

2

[수학숙제 / BOJ 2870] 채점 서버 오작동

0

37

1

코테 준비 질문

0

50

1

살구클럽가입 요청드려요

0

39

2

1-I 문제 질문

0

40

2

코딩살구클럽 가입

0

57

2

코딩살구클럽 오류

0

61

2

코살클 [3-F 괄호 추가하기] 프라이빗 9번 제보

0

46

1

코딩살구클럽 테스트 케이스 오류 제보

0

52

2

삼성 코딩테스트

0

65

2

틀린 이유를 못찾겠습니다

0

48

2

시간은 이상 , 미만 질문 드립니다.

0

35

1