Algorithm

    🧩 코딩 테스트 정복기 @21#B*03

    🧩 코딩 테스트 정복기 @21#B*03

    파이썬 알고리즘 인터뷰 📚📚📚👈🏻 책 구매 링크 🤴🏻👸🏻👵🏻👴🏻 👈🏻 소스코드 깃허브 😥😱🤪👈🏻 책 정오표 🏓📡📺 👈🏻 유투브 채널 파이썬 귀도 반 로섬 Guido Van Rossum 1989년 12월 새로운 언어를 만들기로 결심한다. 원칙은 간단하다. 1. 읽기 쉬어야 한다. 2. 사용자가 원하는 모듈 패키지를 만들 수 있어야 한다. 다른 프로그램에서 사용할 수 있어야 한다. 3. 독특하고 약간 신비로운 이름을 원한다. (70년대 세계를 풍미한 영국의 코미디 그룹 몬티 파이썬의 이름을 따서 붙였다.) 30여 년이 지난 지금 파이썬은 세상에서 가장 인기있는 프로그래밍 언어가 되었다. 파이썬은 '실행 가능한 수도코드 Executable Pseudocode' 라는 별칭으로도 불린다. 원래 수도코드란 실행이 ..

    🧩 코딩 테스트 정복기 @21#B*02

    🧩 코딩 테스트 정복기 @21#B*02

    파이썬 알고리즘 인터뷰 📚📚📚👈🏻 책 구매 링크 🤴🏻👸🏻👵🏻👴🏻 👈🏻 소스코드 깃허브 😥😱🤪👈🏻 책 정오표 🏓📡📺 👈🏻 유투브 채널 코딩 테스트 언어 선택 오프라인 화이트보드 코딩 인터뷰의 경우, 면접에서 실제 실행되는 언어로 코딩을 하기가 불가능하다. 일정한 규칙을 준수하는 코딩 체계를 보여주는 형식이 필요하다. 컴퓨터 프로그램의 작동 원리 또는 알고리즘을 형식이 정해져 있지 않은 고차원 언어로 기술한 것을 수도코드라 한다.(Pseudocode)수도코드는 대게는 일정한 규칙을 준수하지만 기계가 판독하려는 용도가 아닌, 사람이 쉽게 알아볼 수 있는 형태로 기술한다. 순서도를 활용해서 표현이 가능하지만, 수도코드를 활용하면 더 다양한 알고리즘을 표현할 수 있다. 합격자 언어도 C++이 가장 많았지만(25%..

    🧩 코딩 테스트 정복기 @21#B*01

    🧩 코딩 테스트 정복기 @21#B*01

    파이썬 알고리즘 인터뷰 📚📚📚👈🏻 책 구매 링크 🤴🏻👸🏻👵🏻👴🏻 👈🏻 소스코드 깃허브 😥😱🤪👈🏻 책 정오표 🏓📡📺 👈🏻 유투브 채널 코딩인터뷰란 기술문제 주임의 개발 인터뷰이다. MS사가 처음 개척한 것으로 알려져 있다. 빌 게이츠는 퍼즐에 상당히 몰두했었고, 퍼즐관련 문제들이 출제되기 시작해, 차츰 논리, 프로그래밍에 관련된 질문들로확대되었다. 이후, 페이스북, 구글 등이 적극 도입하면서 꾸준히 발전해왔다. 일반적으로 코딩 인터뷰란 오프라인 면접장에서 화이트보드를 이용해 후보자의 기술 지식, 코딩 능력, 문제 해결 역량,창의성 등을 테스트하는 것이다. 최근에는 코딩 인터뷰보다 코딩 테스트라는 용어를 많이 쓰는 편이다. 여러형태로 구분하기도 하는데, 명칭 온라인/오프라인 면접관참석 도구 온사이트(오프라인..

    😵 백준 9184번 신나는 함수 실행 풀이 ( Dynamic Programming, Memoization)

    😵 백준 9184번 신나는 함수 실행 풀이 ( Dynamic Programming, Memoization)

    이 게시물은 개인적으로 알고리즘 공부한 내용과 이곳 저곳 검색하여 얻은 정보, 잡지식을 꾸준히 쌓아가는 글입니다. 출처는 최하단에 남겨두겠습니다. 자료나 궁금한점은 댓글로 질문해주세요.^^ Dynamic Programming - Memoization 동적계획법 - 메모이제이션 9184번 문제에 동적계획법을 활용하여 문제를 푸는데, 메모이제이션 개념을 활용하여 구현한다. Dynamic Programming / Memoization 메모이제이션은 재귀함수를 진행할때, 값을 저장하여 반복되는 계산을 진행하지 않는 방법이다. 재귀의 단점을 보완하는 중요한 개념이다. 동저계획법의 핵심이 되는 기술이다. 문제 재귀 호출만 생각하면 신이 난다! 아닌가요? 다음과 같은 재귀함수 w(a, b, c)가 있다. if a 2..

    😤 백준 1753번 최단경로 풀이 (Dijkstra Algorithm)

    😤 백준 1753번 최단경로 풀이 (Dijkstra Algorithm)

    이 게시물은 개인적으로 알고리즘 공부한 내용과 이곳 저곳 검색하여 얻은 정보, 잡지식을 꾸준히 쌓아가는 글입니다. 출처는 최하단에 남겨두겠습니다. 자료나 궁금한점은 댓글로 질문해주세요.^^ Dijkstra Algorithm 다익스트라 알고리즘 = 데이크스트라 알고리즘 백준 1753번 최단 경로 문제에 다익스트라 알고리즘이 등장한다. 원본 풀이는 해당 블로그로 이동! 문제 방향그래프가 주어지면 주어진 시작점에서 다른 모든 정점으로의 최단 경로를 구하는 프로그램을 작성하시오. 단, 모든 간선의 가중치는 10 이하의 자연수이다. 입력 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1≤V≤20,000, 1≤E≤300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 ..

    Brute_Force Algorithm :: 브루트 포스 알고리즘 (완전탐색)

    Brute_Force Algorithm :: 브루트 포스 알고리즘 (완전탐색)

    이 게시물은 개인적으로 알고리즘 공부한 내용과 이곳 저곳 검색하여 얻은 정보, 잡지식을 꾸준히 쌓아가는 글입니다. 출처는 최하단에 남겨두겠습니다. 자료나 궁금한점은 댓글로 질문해주세요.^^ Brute Force Algorithm 브루트 포스 알고리즘 조합 가능한 모든 문자열을 하나씩 대입해 보는 방식으로 암호를 해독하는 방법. 영어로 brute는 "짐승같은, 난폭한"이라는 뜻이고, brute-force는 "난폭한 힘, 폭력"이라는 뜻이다. 오래 걸리는 데다 자원이 엄청나게 깨져서 얼핏 보면 무식하다고 생각할 수도 있겠지만, 항상 정확도 100%를 보장한다는 점에서 암호 해독법 중 가장 확실하고 무서운 방법이다. 이론적으로 가능한 모든 경우의 수를 다 검색해 보는 것이라 정확도 100%가 항상 보장되니, ..

    [코딩 테스트] : #01 ::  기본적 이해

    [코딩 테스트] : #01 :: 기본적 이해

    이 글은 패스트 캠퍼스 알고리즘 강의를 보면서, 개인 경험과 강의내용을 정리하며 적은 글입니다. 이 글은 저와같이 독학자, 취준생 분들에게 알고리즘 강의를 듣기 전 참고용으로 보시면 좋을 듯 합니다. 광고글은 아니며 출처를 분명히 하고 저의 공부 과정을 기록하고자 합니다. ( 패스트 캠퍼스 알고리즘 강의 바로가기 ) # 코딩 테스트의 기본 원리 기본적인 알고리즘 테스트에서 문제를 푸는 사고 과정은 아래와 같다. 문제 ---------------- 모델링(추상화) ---------------- 절차적 사고 ---------------- 구현 추상화/ 모델링 과정은 문제에서 주제, 맥락, 단어 등 핵심 키워드를 찾아서 무엇을 물어보는지 정확하게 파악하는 과정이다. 다음은 이러한 키워드를 중심으로 어떠한 방향..

    [프로그래머스 뿌셔뿌셔] :Kotlin: 크레인 인형 뽑기 게임

    [프로그래머스 뿌셔뿌셔] :Kotlin: 크레인 인형 뽑기 게임

    🧱 프로그래머스 코틀린 공부 🛸 크레인 인형 뽑기 게임 문제 : ( 보러가기 ) 해설 : 이 문제는 크레인이 다차원 배열로 된 배열의 숫자를 뽑아서 같은 수일 경우 없애준다. 이 없애준 수의 갯수를 리턴하라는 문제이다. 위의 사진 처럼 인형이 배열되어있다. 이것을 간단히 예로 표현하면 아래와 같다. 0 0 0 0 0 0 0 1 0 5 0 3 2 0 1 4 3 4 4 3 5 2 1 5 1 이렇게 5*5 형태로 2차원 배열을 준다. 나는 이 부분에서 혼동이 와서 헤맸다.. 주어진 테스트 케이스는 아래와 같이 준다. [[00000],[00105],[03201],[43443],[52151]] 이부분을 반대로 생각해서 많이 해맸지만 이 부분을 어렵게 보지말고 위의 표처럼 쭈욱 쌓여있다는 상태로 본다면 이해가 빠르..