목록Algorithm (11)
개발자의 오르막
문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/181188 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 이 문제는 최소한의 요격으로 모든 미사일을 격추시키는 것이 요구사항임을 알 수 있습니다. A나라의 미사일이 X축과 평행하게 발사되면, B나라에서는 Y축으로 발사하여 모든 미사일을 요격합니다. 따라서 X 구간의 범위가 겹치지 않는 선에서 최소한의 미사일을 발사하는 것이 중요합니다. 이를 위해서는 A 나라의 미사일 좌표를 정렬하고, start 와 end 값을 확인하고 끊겨지는 구간..
개요 글또 블로그를 진행하던 중 코드트리 블로그 챌린지를 참여하게 되는 기회를 얻게 되었다. 코딩 테스트를 집중적으로 준비해보지 않았었기에 항상 코딩 테스트는 부담감이 있는 키워드로 다가왔었다. 이번 기회에서는 코딩테스트에 대한 부담감을 덜고 자신감으로 바뀔 수 있을지 궁금했다. 우선 첫번째 느낌은 일일단위 목표와 진단 히스토리 등 나의 코딩테스트 결과를 끊임없이 알려준다는 것이었다. 파편화된 코딩테스트 문제들을 풀다보면 나의 점수가 정확히 어느정도인지 모르는 경우가 많은데 코드트리에서는 진단히스토리를 메인화면에 보여주고, 주기적으로 업데이트하기를 권장하고 있다. 또한 위처럼 각 난이도별로 문제들을 분류하고, 순서대로 풀기 때문에 스텝 바이 스텝의 형태로 문제를 풀 수 있어 즐거웠다. 깃 계정까지 연동이..
# anaconda 설치 - 파이썬 기본 컴파일러 - 파이선 주요 라이브러리 - jupyter notebook 등 유용한 툴 * 컴파일러 : 프로그래밍 언어로 작성된 코드를 컴퓨터가 실행할 수 있는 코드로 변환하는 프로그램 * 파이썬의 장점 : 라이브러리 / pip install library-name - 아나콘다 홈페이지에 접속 ( https://www.anaconda.com/distribution/ ) Anaconda Python/R Distribution - Free Download Anaconda Distribution is the world's most popular Python data science platform. Download the free version to access over 1..
# 자료구조 - 용어 : 자료구조, 데이터 구조, data structure - 대량의 데이터를 효율적으로 관리할 수 있는 데이터의 구조를 의미 - 코드상에서 효율적으로 데이터를 처리하기 위해, 데이터 특성에 따라, 체계적으로 데이터를 구조화 해야함. - 효율적으로 데이터 관리하는 예 우편번호 : 5자리 우편번호 ( 앞자리 3자리는 시, 군, 자치구 / 뒤 2자리는 일련번호 ) 학생관리 : ( XX학년, X반, X번 학생 ) → 전체 데이터를 찾아보지 않고, 앞 자리만 찾아봄으로써 효율적으로 색인을 할 수 있음. # 대표적인 자료구조 - 배열, 스택, 큐, 링크드 리스트, 해쉬 테이블, 힙 등 # 알고리즘 - 용어 : 알고리즘, algorithm - 어떤 문제를 풀기 위한 절차 / 방법 - 어떤 문제에 ..
# 문제 # 풀이 public boolean solution(String[] phone_book) { boolean answer = true; for(int i=0; i
# 알고리즘이란? - 알고리즘은 입력, 출력, 유한성, 명백성, 효과성을 만족해야 합니다. - 알고리즘은 분석을 통해 좋고 나쁨을 평가할 수 있습니다. - 알고리즘은 기초 프로그래밍과 자료구조를 공부한 이후에 배우면 좋습니다. - 알고리즘은 논리이며 수학이고 실질적인 개발에 적용되는 기초적인 아이디어입니다. # 대표유형 - 파싱, 해싱, 정렬, 시뮬레이션 / 구현 - 탐색(BFS/DFS), 완전탐색(백트래킹) / 탐색 - 자료구조(스택, 큐, 힙 등), / 구조 - Greedy, DP, 이분탐색 / 알고리즘 # 선택정렬이란? 즉, 선택 정렬은 첫 번째 자료를 두 번째 자료부터 차례대로 비교하여 가장 작은 값을 찾아 첫 번째에 놓고, 계속해서 차례대로 비교하여 반복하는 정렬을 수행 빨 간색이 값 비교 중,..