본문 바로가기
728x90

알고리즘7

공부노트 | 파이썬 알고리즘 인터뷰 | 2장 프로그래밍 언어 선택 ※ 공부 목적으로 책의 내용 정리하는 글 오프라인 화이트보드 코딩 인터뷰 경우 실제 실행되는 언어로 코딩하기 불가능. 수도코드(Pseudocode): 컴퓨터 프로그랭ㅁ의 작동 원리 또는 알고리즘을 형식이 정해져 있지 않은 고차원 언어로 기술한 것 수도코드는 대개 일정한 규칙을 준수하지만 기계가 판독하려는 용도가 아닌, 사람이 쉽게 알아볼 수 있는 형태로 기술 # 수도코드 예제 함수 fizzbuzz() for i = 1 to 100 print_number = True if i is 3으로 나눌 수 있다면 print "Fizz" print_number = False if i is 5로 나눌 수 있다면 print "Buzz" print_number = False if print_number = True pri.. 2021. 10. 29.
공부노트 | 파이썬 알고리즘 인터뷰 | 1장 코딩 인터뷰 ※ 공부 목적으로 책의 내용 정리하는 글 | 코딩 인터뷰 기술 직군 채용을 위한 기술 문제 중심의 개발 인터뷰 오프라인 면접장에서 화이트보드를 이용해 후보자의 기술 지식, 코딩 능력, 문제 해결 역량, 창의성 등을 테스트하는 것 | 코딩 테스트 플랫폼 코딩 테스트 플랫폼마다 각기 다른 방식으로 동작한다! (예시) 카카오는 테스트 케이스 보여주지 않도록 설정. 에러가 나면 왜 틀렸는지 스스로 코드를 보면서 유추해 나가야 함. 타임아웃도 마찬가지. 갑자기 타임아웃이 나기 시작해도 어떤 입력값 때문인지 알 수 없음. 면접관은 면접자가 제출한 코드를 매우 꼼꼼히 리뷰하는 편이기 때문에 동작한다고 풀이를 아무렇게나 작성하는 것 지양! 면접 때 집중적으로 질문을 받게 될 것임 각 플랫폼의 특징을 파악하는 것 중요하.. 2021. 10. 27.
자료구조 | Red-Black Tree 위키백과에 의하면 Red-Black tree(레드-블랙 트리)는 자가 균형 이진 탐색 트리로서, 대표적으로는 연관 배열 등을 구현하는 데 쓰이는 자료구조라고 한다. 레드-블랙 트리는 복잡한 자료구조지만, 실 사용에서 효율적이며 최악의 경우에도 O(logN) 시간복잡도를 보장할 정도로 안정(balanced)되었다. ※ 트리? 그래프? 더보기 트리 구조는 우리 주변 일상에서 쉽게 볼 수 있는 위아래 개념을 컴퓨터에서 표현한 구조다. 더 중요한 트리의 속성 중 하나는 재귀로 정의된 자기 참조 자료구조라는 점! 그렇다면 그래프와 트리의 차이점은 무엇일까? 한 줄로 요약하자면 "트리는 순환 구조를 갖지 않는 그래프"이다. 트리는 특수한 형태의 그래프의 일종이며, 크게 그래프의 범주에 포함된다. 하지만 트리는 그래.. 2021. 10. 13.
정글에서 살아남기 | WEEK04 | 다이나믹 프로그래밍은 다이나믹하지 않다구 드디어 알고리즘 마지막 4주 차...!!! 진짜 내가 컴퓨팅 사고로 전환하고 있는지 잘 모르겠지만 확실한 점은 알고리즘 문제를 건드릴 수는 있게 되었다는 점..? 처음에는 알고리즘 문제를 보고 나서 어떻게 풀어야 할지 접근조차 하지 못했었는데 이제는 완벽하게 정답을 출력하지는 못하더라도 이렇게 풀면 되겠다~라는 생각을 가지고 코드를 작성하기는 한다는 것(물론 결국 오답이다 ㅎㅎㅎ 이제 화나지도 않아) 여하튼, WEEK04주 차의 알고리즘 키워드! WEEK04 : 동적 프로그래밍, 그리디 알고리즘 이번 주 과제의 수는 14개였다. 저번주처럼 과제 수가 적었고, 그 의미는 동적 프로그래밍(dp), 그리디 알고리즘(greedy) 역시 만만치 않게 어려운 카테고리라는 것이다. 그래도 저번 주에 기대 이상으로 d.. 2021. 9. 5.
정글에서 살아남기 | WEEK03 | 여전히 느리지만 그래도 성장하는 중! 대전 전민동에서 생활한 지 벌써 한 달이나 됐다. 이제 여기서 사는 것도 점점 적응되고 있다. 여전히 알고리즘의 늪에서 허우적거리는 것은 변하지 않았지만, 그래도 심리적인 압박이나 불건전한 스트레스는 많이 줄었다. 캠퍼스에서의 생활도 만족한다. 아침마다 운동하고, 빡세게 공부하고 기숙사 가자마자 기절하고. 매일 강의실에서 살다시피 하다 보니 시간을 허투루 썼다는 후회나 아쉬움은 전혀 없다. 일요일에 알람도 없이 오전을 풀로 자고 일어나도 죄책감이 없다 ㅋㅋㅋ 무엇보다 이 동네가 제일 좋은 이유 중 하나는 캠퍼스 주변에 맛집이 지이인짜 많다는 것이다. 곰탕부터 시작해서 라멘, 초밥, 삼계탕 등등 진짜 어떤 가게를 들어가도 눈 뒤집혀서 퍼먹는다. 이 동네 가게 사장님들 무림 고수들이 작은 동네에 은둔하면서 .. 2021. 8. 29.
정글에서 살아남기 | WEEK02 | 코딩 못해? 어쩌라고! 결국 잘하게 될거야 정글에서 WEEK01~04(알고리즘 과정)은 프로그래머로써 학습하는 방법을 배우는 기간이다. 빠르게 배우면서 시행착오를 가져라. 운영진님들과 면담할 때 의장님께서 해주셨던 조언이다. 그리고 이 말 덕분에 저번 주에 비해 한결 편한 마음으로 공부했다. 내가 알고리즘을 못 하는 것은 당연하다. 하지만 모르고 못 하기 때문에 알기 위해 매일 10시간 이상씩 공부를 하는 것이고, 결국은 할 수 있게 될 것이라고 믿고 있다. 이런 마인드 덕분인지 확실히 덜 스트레스받으면서 공부를 했던 것 같다. (물론 8번 연속으로 시간초과 되는 문제 만나면 머리털 빠질 만큼 짜증 난다ㅡㅡ) 정글 week02주 차. 이번 주차의 알고리즘 키워드. WEEK02 : 이분탐색, 분할정복, 스택, 큐, 우선순위 큐 1. 문제 풀이 솔직.. 2021. 8. 22.
정글에서 살아남기 | WEEK01 | 성장통을 즐겨라! 근데 생각보다 아프다...? 정글에 있으면서 늦은 저녁에 자주 하는 대화 내용: 동기 M: 형, 눈 엄청 빨간데요!? 나: ㅇㅇ?? 너도 눈 겁나 빨개 (같이 거울 본 후) 동기, 나: ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 정글에서의 week01주 차. 매우 험난하다. WEEK01~04의 커리큘럼 목표는 '컴퓨팅 사고로의 전환'이다. 정글러 대부분이 전산학 비전공자이기 때문에 문제를 풀면서 자료구조와 알고리즘을 공부하면서 컴퓨팅 사고를 기르는 시기이다. 이번 주의 키워드는 알고리즘 기초(기초, 배열, 문자열, 재귀함수), 정렬, 완전탐색, 시간복잡도 일정은 주차별로 주어진 키워드에 맞는 과제가 주어지고, 문제를 풀면서 개념과 알고리즘 실력을 키워간다. 그리고 목요일마다 3문제씩 시험을 본다. 1. 문제 풀이를 통한 알고리즘 .. 2021. 8. 15.
728x90
LIST