본문 바로가기

분류 전체보기

(64)
백준 수 정렬하기 2(2751) 이번에는 정렬 문제를 풀어보려고 문제 하나를 찾았다. https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬..
백준 숫자 카드(10815) 백준에서 보이는 이분 탐색 문제 하나를 선택했다. https://www.acmicpc.net/problem/10815 10815번: 숫자 카드 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 문제 숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 가지고 있는지 아닌지를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘..
이진 탐색 이진 탐색이란? 이진 탐색 (Binary search) 이진 탐색은 정렬 된 데이터 배열에 특정 값을 찾아내는 알고리즘이다. 중간에 있는 임의의 값을 선택하여 찾고자 하는 값 X와 비교 후 X가 중간값보다 작으면 중간값 기준 좌측, X가 중간값 기준으로 크면 배열의 우측을 대상으로 다시 탐색한다. 동일한 방법으로 다시 중간의 값을 임의로 선택하여 비교한다. 해당 값을 찾을때까지 이 과정을 반복한다. 위 그림을 보면 오름차순으로 정렬된 배열에서 Target(22)를 찾는 이진 탐색을 시작한다. 탐색을 반복적으로 수행하여 마지막 22 타겟을 찾는다. 시간복잡도 : O(logN) 해당 알고리즘은 반복문과 재귀 두가지 방법으로 구현이 가능하다.
시작 개발자 경력으로 이제 거의 4년차가 가까워져가는 나.. 경력기간중 한번의 이직을 성공한 나... 요즘들어 조금 나태해져 가는거 같아서 블로그를 시작하고 첫 페이지 만든다. 나름 매일 개발을 진행하고있지만 블로그 활동을 따로 진행하지도 않고 Git도 public하게 열어두지 않아서 나의 개발 공부의 흔적이 남아있지 않는거 같아서 시작해본다. 첫 시작은 나의 다음 이직을 위해 준비하는 코딩테스트 페이지 ( 필요 없을수도 있는데... 조금씩은 준비하자는 마인드) 이전에 코딩 테스트 준비했었는데 해당 정보도 따로 노션으로만 관리하고 이제는 너무 오래되어서 머리속에서 사라진 기억들을 차곡차곡 다시 쌓아보려 한다. 준비에 뭐가 필요할까 기웃기웃 찾아본 나의 정리 글이다. 1. 자료구조 & 알고리즘 공부 당연한 얘기..