전체 글 280

Binary Search vs Linear Search

정말 노마드 코더님은 비전공자들에게 한줄기 빛과 같다.... 그동안 정보처리기사, Sqld 등등.. 자주 나오는 개념인 이진 탐색(Binary Search)!! 자격증 따면서 글로만 읽었을 때에는 이게 왜 중요한지 이해가 안갔었는데 오늘 영상을 보니 이해가 한방에 되었고 정말 중요한 알고리즘이라는 것을 느꼈다. 오늘도 역시 노마드 코더님의 강의를 보고 블로그 글을 포스팅함으로써 개념을 정리해보려고 한다. 노마드 코더 강의 출처: https://www.youtube.com/watch?v=WjIlVlmmNqs 오늘은 왜 알고리즘이 중요한지 배우기 위해서 같은 작업을 수행하는 알고리즘 2개를 비교해보겠다. 배열 안에 있는 숫자를 어떻게 찾을 수 있을지는 여러 알고리즘이 있는데 어떤 알고리즘을 선택하는지에 따라..

💡 자료구조 2021.06.14

함수의 인자에 대해 알아보기(배열과 포인터)

#include int main(void) { int sum, i, average; int num[10]; for (i = 0; i < 10; i++) scanf("%d", &num[i]); sum = calculate_sum(num); average = sum / 10; printf("%d\n", average); return 0; } int calculate_sum(int array[]) { int sum, i; sum = 0; for (i = 0; i < 10; i++) sum = sum + array[i]; return sum; } main() 안에 있는 sum = calculate_sum(num) 에서 num은 10의 길이를 가지는 배열이다. 배열의 이름은 첫번째 요소의 주소와 같다는 사실은 다..

💡 자료구조 2021.06.10

24. Jolly Jumpers

이 문제의 저작권은 인프런 강의 "it 취업을 위한 알고리즘 문제풀이 (with C/C++) : 코딩테스트 대비" 에 있습니다. 문제 24 N개의 정수로 이루어진 수열에 대해 서로 인접해 있는 두 수의 차가 1에서 N-1까지의 값을 모두 가지면 그 수열을 유쾌한 점퍼(jolly jumper)라고 부른다. 예를 들어 다음과 같은 수열에 서 1 4 2 3 앞 뒤에 있는 숫자 차의 절대 값이 각각 3 ,2, 1이므로 이 수열은 유쾌한 점퍼가 된다. 어떤 수열이 유쾌한 점퍼인지 판단할 수 있는 프로그램을 작성하라. 입력예제 5 1 4 2 3 7 출력예제 YES 내가 쓴 코드 #include using namespace std; int cnt[100000]; int main(){ //freopen("input.t..

23. 연속 부분 증가수열

이 문제의 저작권은 인프런 강의 "it 취업을 위한 알고리즘 문제풀이 (with C/C++) : 코딩테스트 대비" 에 있습니다. 문제 23 N개의 숫자가 나열된 수열이 주어집니다. 이 수열 중 연속적으로 증가하는 부분 수열을 최대 길이를 구하여 출력하는 프로그램을 작성하세요. 만약 N=9이고 5 7 3 3 12 12 13 10 11 이면 “3 3 12 12 13” 부분이 최대 길이 증가수열이므로 그 길이인 5을 출력합니다. 값이 같을 때는 증가하는 걸로 생각합니다. 입력예제 9 5 7 3 3 12 12 13 10 11 출력예제 5 먼저 pre, now 변수를 활용해서 코드를 짜보자. pre는 이전 값을, now는 현재 값을 의미한다고 정의한다. 5 7 3 3 12 12 13 10 11 에서 5는 pre를..

배열의 자료구조 기초

그동안 자료구조에 대해 겉핡기씩으로만 배워서 쉽게 까먹고 그랬는데 유튜버 니꼴라스 선생님의 강의를 들으니 배열은 컴퓨터에 이렇게 저장이 되고 이래서 읽기가 빠르고 검색이 느리구나를 쉽게 이해할 수 있게 되었다. 오늘은 니꼴라스 선생님의 유튜브를 보고 배열에 대한 자료구조를 정리해보고 이해하는 시간을 갖겠다. 니꼴라스의 영상을 참고하실 분은 밑에 링크를 클릭해주세요! https://youtube.com/watch?v=NFETSCJON2M&feature=share 1. 시간복잡도 먼저 배열에 들어가기 전에 시간복잡도에 대해서 알 필요가 있다. 시간복잡도란 데이터의 오퍼레이션(작업) 혹은 알고리즘이 얼마나 빠르고 느린지 측정하는 방법인데, 이것은 실제 시간을 측정하는 것이 아닌 "얼마나 많은 단계가 있는가" ..

💡 자료구조 2021.06.09

Sqld 2과목 3장 필기 정리

Sql 전문가 가이드 책 막바지에 와서 읽기가 너무 힘들어서 쓰면서 정리했다. 눈으로만 책 봤을때 NL Join , Sort Merge Join, Hash Join... 많이 헷갈렸는데 이제 머릿속에서 잘 정리된 것 같다. 이제 암기만 하면 될 것 같다. 틈날 때마다 봐서 이 단원 문제는 꼭 다 맞혀야겠다! (굳센 각오!!) + ) Sqld를 따시는 분은 알아두세요! 출처: 데이터 전문가 포럼 카페 요약하자면... SQL 전문가 가이드가 2020개정판이 나왔는데 시험개요와 개정판 내용이 서로 달라서 혼동이 오는 사람들이 많고 카페 내에서도 정확히 알고 있는 사람도 없기에 어떤 분이 문의넣었던 내용입니다. 혹 이걸 따로 봐야될지말아야될지 고민하시는분이 있다면 참고하시길바랍니다... ​ 1차 답변 : 요약 ..

👩🏻‍💻 TIL 2021.05.12

2021년 1회 정보처리기사 실기 시험 후기 & 공부방법

드디어 2021년 1회 정보처리기사 실기 시험도 끝났다..흑 (너무 기쁘다!!!!) 한편으로는 문제가 너무 쉽게 출제되어 개인적으로 아쉽기도 했다. 5번까지 풀면서 든 생각은... 아 얼마나 어렵게 내려고 지금까지 이런 기초적인 문제를 주는거지? 라고 생각할 정도..(이 생각이 20번까지 이어질 줄이야...) 심지어 이번 1회 시험에서는 약술형 하나조차 없었다ㅠ 약술형때문에 정말 단어장 만들듯이 공부했는데.. 하지만 나뿐만 아니라 다른 모든 사람들도 작년 시험을 기준으로 열심히 준비했을거라 생각했고 시험 난이도에 대해서 다 똑같이 생각했을거라 생각한다 작년 실기 시험 후기를 보면 문제집에도 없는 용어(헝가리언 표기법, 프로토콜...)가 많이 출제된다고 하길래 나는 철저한 준비를 했었다!! 준비기간 : 거..

3과목 2장 물리 데이터베이스 설계

물리 데이터베이스 설계는 논리적 구조로 표현된 논리적 데이터베이스를 디스크 등의 물리적 저장장치에 저장할 수 있는 물리적 구조의 데이터로 변환하는 과정이다. 꼭 포함되어야 할 것은 저장 레코드의 양식 설계, 레코드 집중의 분석 및 설계, 접근 경로 설계 등이 있다. (참고: 목표 DBMS에 맞는 스키마 설계는 어느 단계? -> 논리적 설계 단계에서 수행!) 여기서 레코드란 필드의 집합으로써, 예를 들어 Person이라는 하나의 레코드는 id, name, age, job으로 표현되는 4개의 필드로 구성된다. 데이터베이스에 데이터를 저장하려면 테이블이나 컬럼 등 실제 데이터가 저장되는 공간(저장 레코드의 양식 설계!)을 정의해야 한다. 테이블, 컬럼, 데이블스페이스의 개념과 특징을 알아놓자. 테이블 테이블은..

22. 온도의 최댓값 (1차원 배열 구간합 : 제한시간 1초)

이 문제의 저작권은 인프런 강의 "it 취업을 위한 알고리즘 문제풀이 (with C/C++) : 코딩테스트 대비" 에 있습니다. 문제 22 매일 아침 9시에 학교에서 측정한 온도가 어떤 정수의 수열로 주어졌을 때, 연속적인 며칠 동안의 온도의 합이 가장 큰 값을 알아보고자 한다. 예를 들어, 다음과 같이 10일 간의 온도가 주어졌을 때, 3 -2 -4 -9 0 3 7 13 8 -3 모든 연속적인 이틀간의 온도의 합은 다음과 같다. (그림 생략) 이때, 온도의 합이 가장 큰 값은 21이다. 매일 측정한 온도가 정수의 수열로 주어졌을 때, 연속적인 며칠 동안의 온도의 합이 가장 큰 값을 계산하는 프로그램을 작성하시오. 입력예제 >> 10 2 3 -2 -4 -9 0 3 7 13 8 -3 출력예제 >> 21 *..