본문 바로가기
항해99 취업 리부트 코스/TIL

[항해99 취업 리부트 코스 학습일지] 4주차 TIL(1)

by 봄의 개발자 2024. 4. 10.

오늘 조 배정이 새로 되었다. 조 번호는 똑같지만 사람들이 바뀌었다. 

이번에도 분위기는 엄청 좋은 듯 하다. 다들 열심히 하시고 뭔가 열정적이다. 나도 덩달아 동기부여가 되는 듯 하다.

알고리즘 문제 중에 구현, 시뮬레이션, 완전탐색에 관련된 문제를 풀었는데 어려웠다. 시간이 조금 부족했다.

특히 4번은 어려워서 시간 내에 못 풀었다. 5, 6번까지 풀어볼 예정이었지만 4번도 못 푸는 나,,,

더 열심히 해야지!

 

- 오늘 진행된 강의에서 학습한 내용은 무엇인가요?

완전 탐색(1)


- 이번 주 진행된 팀 스터디에서 얻은 인사이트는 무엇인가요

 

<강의 내용 - 시뮬레이션 문제>

  • 자료구조
  • 시간 복잡도 계산
  • 그래프 기초
  • 브루트포스
  • BFS/DFS
  • 순열/조합 => 많이 풀면서 구현 능력 늘리기

 

<기술 매니저님 피드백>

  • 프로그래머스 채용탭 우테캠 등 코테 일정 나옴 참여해봐라 그 해의 경향 등을 파악하기 쉬움
  • 조합, 순열 코드는 외워둬라
  • var 신경 안 쓰고 싶어서 쓰긴 한데 남용하진 마라 어떤 타입인지 확실하게 알고 있다면 사용해도 상관없음 헷갈리는 이름 지정해놨으면 타입 명시해주는 게 좋음 -> 웬만하면 타입쓰는 게 좋다
  • 재귀 primitive vs reference type call by reference , call by value 차이다. reference type 으로 하면 call by reference primitive -> call by value (더 찾아보기)
  • 이전의 최솟값보다 커지면 안 구해도 된다! 이걸 사용해서 최적화할 수 있음
    -> 이것도 백트래킹이다! 조건에 만족하지 않으면 뒤로 다시 돌아가는 것이기 때문
  • 맨 처음에는 brute force 생각해라 사고의 흐름이 처음에 brute force에서 시작하도록 알고리즘이 있을 거라고 추측이 안된다면 브루트포스 만약 브루트포스로 불가능할 거라고 생각하면 다른 알고리즘 생각해보기 
  • 라벨 - 절차지향 언어에서 주로 사용 자바에서 라벨을 사용해야만 하는 코드는 잘못된 코드이다. 자바에서는 권장하지 않음
  • 뿌요뿌요 - 구현, 시뮬레이션 문제 코드로 옮기는 게 어려움 풀어봐야함 (구현 능력을 키워야하는 것) 이런 문제에서 dfs/bfs 주로 사용함 이전 상태값, 이후 상태값 영향을 주는 것과 주지 않는 것으로 나눠져있다. -> 6번 꼭 풀어보면 이해감 풀어보기!!
  • 구현/시뮬레이션 문제는 최대한 시간이 걸려도 스스로 해보는 게 좋다! 알고리즘이 필요한 게 아니라 구현 능력이 필요한 것임
  • 백준 삼성 문제집 - 골드3까지 풀어보면 구현은 괜찮을거임

https://www.acmicpc.net/workbook/view/1152

 

문제집: 삼성 SW 역량 테스트 기출 문제 (baekjoon)

 

www.acmicpc.net