본문 바로가기
[📚누구나 자료구조와 알고리즘] 1. 자료 구조의 기본 연산과 속도 측정 (시간복잡도)의 이해 자료구조의 기본 연산 자료구조의 네 가지 기본 연산 방법은 읽기, 검색, 삽입, 삭제 이다. 읽기: 특정 '위치'의 '값'을 찾아내는 연산 e.g. A배열의 3번째 값은 무엇인가? 검색: 특정 '값'의 '위치'를 찾아내는 연산 e.g. 'iphone'이라는 값이 A라는 배열에 존재하는가? 있다면 몇번째 위치에 존재하는가? 삽입: 새로운 값을 추가하는 연산 e.g. 'ipad'라는 값을 A라는 배열에 추가 삭제: 특정 인덱스의 값을 제거하는 연산 e.g. 'iMac'이라는 값을 A라는 배열에서 삭제 자료구조 연산의 속도 측정 자료구조를 배우는 궁극적인 목적은 가장 효율적인 자료구조를 사용하기 위해서이다. 그렇다면, 효율성이란 어떻게 측정될 수 있을까? 우선 '속도가 빠른' 자료구조가 효율적이라고 할 수 있.. 2022. 9. 6.
프로그래밍 기초 책 추천 [프로그래밍 비타민] 집 근처 도서관에서 IT분야 책을 보다가 발견한 책이다. 표지 한 켠에 '10대를 위한 프로그래밍 노트'라고 적혀있어서 엄청 쉬운 책인가 싶었는데, 목차를 보니 리스트, 스택, 큐, 트리, 이진 탐색 트리, 다익스트라 알고리즘 등, 기초 자료 구조들 까지 다루고 있었다. 추천 대상 : 프로그래밍 언어와 컴퓨터 자료 구조에 대해서 깊이 공부하기 전에 가볍게 익혀보고 싶은 사람 누구나! 도서 정보: http://www.yes24.com/Product/Goods/19499883 프로그래밍 비타민 - YES24 소프트웨어 교육의 키포인트, 컴퓨팅 사고력과 프로그래밍 원리 이 책은 소프트웨어 교육을 위한 프로그래밍 핵심 원리를 기초부터 알고리즘까지 알려준다.각 장의 주제와 관련된 재미있는 문 www.yes24.c.. 2022. 9. 3.
SW사관학교 정글 5기 합격 후기 SW사관학교 정글 5기 합격 후기 너무나 가고싶었던, SW 사관학교 정글 5기에 최종 합격하였다 .. !! 이 포스팅을 보시는 분들이라면 대부분 SW 사관학교 정글이 무엇인지는 알고계실 것 같아서, 간단하게만 정리해보자면 SW사관학교는 KAIST 전산학부에서 운영하는 비학위과정으로, 전산학부를 전공하지 않은 일반인을 대상으로 전산학부의 핵심 커리큘럼을 가지고 교육하여 좋은 SW 엔지니어를 양성하는 프로그램이다! 프로그램 자체에 대한 소개는 홈페이지에 아주 잘 나와있기 때문에 홈페이지(링크)를 참고하시는 것을 추천한다! SW사관학교 정글에 지원한 이유 개발자의 길을 걷고 싶어 퇴사를 갈겨버린 비전공자인 나는 계속해서 좋은 SW 교육 프로그램들을 탐색해왔다. 특히 이 곳에서 부트캠프 일정과 가격 등을 잘 안.. 2022. 9. 1.
[완독] 용의자 X의 헌신 - 히가시노 게이고 / 밀리의 서재 / No Spoiler 요즈음, 그 어느 때보다 스마트폰 스크롤을 내리는 내 손가락은 더 빨라졌고, 거의 1초마다 새로운 시각적 자극이 나에게 들어오고 있었다. 강렬한 자극과 재미에 도파민 중독이 되어버린 나는 좀처럼 집중을 잘 하지 못햇고, 점점 더 지루함을 견디지 못하는 사람이 되고 있었다. 그래서 강렬한 자극으로 무장한 소리와 영상이 아닌, 조용한 텍스트에 집중하고 몰입하는 느낌을 느끼고 싶었다. 하지만 내가 주로 읽는 텍스트들은 주로 몰입할만한 성질의 것들이 아니었다. 내 도서 리스트는 죄다 영어,주식, 논리학, 심리학과 같이 객관적인 정보를 전달하는 비문학 위주였다. 나는 늘 허구적인 이야기보다는 현실에 기반을 둔 이야기들에 항상 더 큰 흥미가 있었고, 오랬동안 성취 중독자처럼 살았기에 세상을 '내게 도움이 되는 것'.. 2022. 7. 1.
[Book] 비트 / 불리언 대수 / 드모르간의 법칙 (한 권으로 읽는 컴퓨터 구조와 프로그래밍- 1. 컴퓨터 내부의 언어 체계) 비트 bit는 2진법의 'binary'와 숫자의 'digit'이 결합된 말이다. 비트를 사용하는 방법 중 하나는 예//아니오로 대답할 수 있는 질문에 대한 답을 표현하는 것이다. 예를 들어, 배가 고픈가? 와 같은 질문은 예/아니오 로 대답할 수 있기 때문에 비트로 표현할 수 있다. 하지만 무슨 음식이 먹고 싶은가?와 같은 질문은 예/아니오 로 대답할 수 없기 때문에 비트로 표현할 수 있다. 다른 비트들이 표현하는 내용으로부터 새로운 비트를 만들어 내는 동작을 '논리 연산'이라고 한다. 예를 들어, 배가 고프고 돈이 없다면, 라면을 먹는다. 라는 문장에서 '배가 고프다'가 '참'이고, '돈이 없다'가 '참'이면, '라면을 먹는다'는 '참'이 되는 것이다. 앞의 두 비트에 따라 라면을 먹는 마지막 비트가 .. 2022. 6. 27.
[Book] 한 권으로 읽는 컴퓨터 구조와 프로그래밍 - 인트로 대상독자 이 책의 대상 독자는 '좋은 프로그래머'이며, 저자가 말하는 '좋은 프로그래머'는 아래의 자질을 갖춘 사람이어야 한다. 1. 좋은 비판적 사고와 분석 기술을 지닌 사람 2. 작동할 뿐만 아니라 다른 사람들이 이해하고 유지보수하기 쉬운 코드를 작성하는 사람 3. 컴퓨터 작동을 잘 이해하는 사람 그래서 저자는 '이 책은 프로그래밍을 배우고 있지만 깊이 부족으로 인해 불만족스러워하는 사람을 위한 책이다' 라고 한다. 읽으면서 '음 나를 위한 책이야!! 라며 고개를 연신 끄덕 + 책을 잘 읽어보겠다는 의지가 샘솟았다. 컴퓨터 프로그래밍이란 무엇인가 저자는 컴퓨터 프로그래밍을 두 단계로 설명한다. 1. 우주를 이해한다 2. 3살 짜리 아이에게 이해한 내용을 설명한다. 우주를 이해한다는 것은 '모든 분야를.. 2022. 6. 24.
프로그래머스 lv1. 모의고사 나의 풀이 function solution(answers) { var answer = [] var scores = [ { person: 1, score: 0 }, { person: 2, score: 0 }, { person: 3, score: 0 } ]; for (i=0; i b.score-a.score); if (scores[0].score > scores[1].score) { answer.push(scores[0].person); } else if (scores[1].score > scores[2].score) { answer.push(scores[0].person); answer.push(scores[1].person); } else { answer.push(scores[0].person); ans.. 2022. 3. 31.
프로그래머스 Lv1. 완주하지 못한 선수 세 가지 방법 정도로 풀어보았는데 세 풀이 모두 정확도 테스트는 통과하였지만 효율성 테스트를 통과하지 못했다. 첫번째 풀이 방법. 이중 for문을 사용해서 완주자 명단에 있는 사람을 한 명씩 잘라내는 방식을 사용하였다. function solution(participant, completion) { for(i=0;i 2022. 3. 30.
프로그래머스 Lv.1 소수 만들기 5월-6월에 가고 싶었던 부트캠프 (네이버 부스트캠프, 우아텍, 코드스쿼드) 들이 모집 (예상) 이라는 정보를 듣고, 하루에 한문제씩이라도 자바스크립트 알고리즘 문제를 풀어보면 도움이 되지 않을까 하고 있다. 태어나서 알고리즘을 풀어보는 게 처음이기도 (본래 전공 언론정보학과 ^^;) 하고 아직 프로그래밍을 배운 지 얼마 안돼서 내가 적은 알고리즘이 좋은 알고리즘이라는 확신은 없다. 그래도 한 문제 한 문제 풀어가면서 새롭게 알아가는 것들이 많아서 간단하게라도 풀이에 성공한 문제들은 어떤 실수를 했는지, 새로 알게 된 문법들이 있는지 기록해보고자 한다! 1. 문제 프로그래머스 Lv1. 소수 만들기 (링크) 2. 나의 풀이 function solution(nums) { var answer const sum.. 2022. 3. 24.
반응형