# 컴퓨터과학

18개의 포스트
post-thumbnail

분기한정법 : 답의 법위를 좁히며 풀기

분기한정법은 최단 경로탐색, 이윤 최대화등 최적화 문제(optimization problem)에서 최적화 문제에서 구하려는 것이 선택의 모음일 때 선택의 분기중 나쁜 선택을 미리 한정하여 프로그램의 시간성능을 높이는 방법입니다.나쁜 선택은 어떻게 알 수 있을까요? 상한

2021년 6월 3일
·
0개의 댓글

발견법

발견법(heuristic method)은 최선.최적의 답을 구하기에는 시간적.물적 조건을 좋지 못 할때 사용하는 방법으로 정확한 답을 구하리란 보장은 없지만 그에 가까운 답을 훨씬 짧은 시간내에 찾을 수 있는 방법입니다.발견법중에는 탐욕법(greedy approach)

2021년 6월 3일
·
0개의 댓글

동적 계획법

동적 계획법은 프로그램 연산 중 반복되는 계산의 결과값을 memoize(저장)하여 해당 계산을 여러 번 반복하지 않고 수행하는 방법으로 프로그램 성능을 증가시키기 위한 방법입니다.이러한 memoize는 반복되는 재귀호출등에 적용할 수 있습니다. 가령 피보나치 수열을 재

2021년 6월 3일
·
0개의 댓글

분할정복

분할정복은 복잡하고 어려운 문제를 덜 복잡하고 쉬운 여러 문제들로 쪼개어 푸는 방법입니다. 가령 대량의 데이터를 정렬하고 싶을 때 분할정렬을 사용할 수 있습니다. 대량의 데이터를 작은 데이터들로 쪼개고 쪼개 한 두개의 데이터들을 비교하여 그 것을 차례대로 조합해가는 방

2021년 5월 11일
·
0개의 댓글

발견법(heuristic method)

발견법은 최적의 수를 엄밀하게 구하는 방법보다 충분히 좋은 수를 찾아내는데 초점을 두는 방법입니다. 일종의 차선책이라고 할 수 있습니다. 발견법 가운데 흔히 사용되는 방법은 탐욕법(greedy approach)입니다. 탐욕법은 선택의 순간마다 최선으로 보이는 선택을 합

2021년 5월 6일
·
0개의 댓글

react 함수형하위컴포넌트에서 함수형상위컴포넌트 state변경하기

결론부터 말하겠습니다. react하위컴포넌트에서 상위컴포넌트 state를 변경하기 위해서는 하위 컴포넌트에 상위컴포넌트의 setstate를 props로 받아와서 setstate를 이용해 변경해주면 됩니다. 예시를 들겠습니다. 우선 예시의 컴포넌트들간의 architect

2021년 5월 4일
·
0개의 댓글

역추적

프로그래밍으로 풀고자 하는 문제중에는 올바른 선택의 순서를 구하는 문제들이 있습니다. 이런 문제들은 모든 가능한 선택순서의 경우의 수를 탐색하는 무식하게 풀기 방법으로도 풀 수 있지만 조금 더 효율적으로 접근할 수도 있습니다. 바로 역추적이라는 방법입니다. 역추적은 선

2021년 4월 24일
·
0개의 댓글

무식하게 풀기 : 모든 후보 검사하기

무식하게 풀기 전략은 완전 탐색(exhaustive search)이라고도 불립니다. 답이 될 수 있는 경우의 수를 모두 탐색하여 답을 알아내는 무식한 방법이죠. 예를 들어 최적 거래 문제를 한 번 봅시다. 일정 기간 동안 금 가격이 주어져 있다. 이 기간 중 한 날짜

2021년 4월 23일
·
0개의 댓글
post-thumbnail

재귀를 이용해 반복

재귀(recursion)함수는 함수가 작동을 할 때 자기자신을 호출하는 함수이다. 이런 성질때문에 반복하고자 하는 작업을 간단한 코딩으로 제법 있어보이게 할 수 있게 해주는 함수이다.(for문 반복보다는 있어보이는 것 같다...??)

2021년 4월 22일
·
0개의 댓글

얕은복사 vs 깊은복사

복사를 할 때 문제가 발생하는 경우는 대게 참조 자료형을 복사 할 때이다.얕은 복사는 크게 두가지 특징을 보인다.얕은 복사는 참조 자료형의 참조하는 데이터들이 원시 자료형일 경우 복사가 잘 된다.이런 코드가 있을 때 화면에 출력된 a0값은 3이다. 즉 b 값을 바꾸어도

2021년 4월 20일
·
0개의 댓글

반복전략

반복전략은 수 많은 데이터를 가지고 동일한 연산을 수행 할 때 쓸 수 있는 전략입니다.반복을 탈출 조건을 만족 할 때까지 반복하여 원하는 결과값을 얻는 전략입니다.예를 들어 바닷물고기 리스트와 민물고기 리스트가 각각 가나다순으로 정렬되어 있다고 해봅시다. 이 것을 모두

2021년 4월 19일
·
0개의 댓글

배열의 인덱스가 0부터 시작하는 이유

배열은 메모리에 기록되었을 때 (처음 메모리 위치 + (인덱스 * 배열크기))로 이동

2021년 2월 22일
·
0개의 댓글

21.1.14

컴퓨팅 사고 위한 CS 공부 1일차. C언어 기본개념

2021년 1월 14일
·
0개의 댓글
post-thumbnail

이것이 왜 "컴퓨터" 공학인가를 알게되었다

언젠간 컴퓨터 그 자체에 대해 공부하는 시간이 꼭 필요하다는 사실을 알았다.

2021년 1월 4일
·
0개의 댓글
post-thumbnail

cs50 - C언어 (2)

해당 강의에서는 sandbox 에 있는 ide 를 활용하여 예제 코드를 보여주는데 여기서 cs50 에서 만들어 제공하는 라이브러리에 있는 함수들을 몇가지 사용하는데 그중 하나가 get_string() 함수로 사용자가 입력한 string 데이터를 리턴해주는 함수이다.

2020년 8월 21일
·
0개의 댓글
post-thumbnail

[부스트코스] 모두를 위한 컴퓨터 과학 1주차_컴퓨팅사고 정리1

안녕하세요 :) 오늘은 edwith에서 제공하는 CS50 강의 1주차 컴퓨팅 사고에 대해 정리해보도록 하겠습니다.○ 문제 해결에 대한 학문○문제해결은 입력(input)을 전달받아 출력(output)을 만들어내는 과정이며 그 중관에 있는 과정이 컴퓨터 과학!○ input

2020년 7월 24일
·
0개의 댓글