데이터란 다양한 정보를 표현한 것이다. 여기서 '다양한'에 주목해야 한다. 데이터는 종류에 따라 그룹화할 수 있습니다. 음식 요리법을 예로 들어 다음과 같이 그룹화(type)할 수 있습니다. 메인리스트로 가기 재료 돼지고기 소고기 양파 양배추 조미료 간장 마요네즈 후추 설탕 등 분량 100g 200cc 1작은술 등시간 시 분 초불의 세기 센불 중불 약불 프로그래밍 알고리즘에서 다루는 데이터도 다양한 그룹으로 나누어서 다룹니다. 이러한 분류를 '데이터타입'이라고 합니다. 정수타입 정수(소수점이 없는 값) 를 처리하기 위한 데이터 타입 예) 0, 1, 100, -123실수타입 실수(소수점을 포함한 값)를 처리하기 위한 데..
데이터의 속성에 대해 알아보겠습니다. 데이터란 다양한 정보를 표현한 것입니다. 요리에 비유한다면 아래의 모든 내용은 요리법이라는 알고리즘을 표현하기 위한 데이터라고 할 수 있습니다. 요리의 재료와 조미료의 양돼지고기 120g당근1/2개설탕 1큰술간장 2.5큰술양파 1/2개감자 2개맛술 2큰술 프로그램의 알고리즘에서도 문제해결을 위한 프로세스를 설명하기 위해 다양한 데이터를 이용합니다. 예를 들어 아래의 각각의 알고리즘을 표현하는 경우 필요한 데이터는 다음과 같습니다.최대공약수를 구하는 알고리즘최대공약수를 구하는 2개의 정수값구한 최대공약수(정수값)정보의 순서를 정렬하는 알고리즘정렬할 값이 담긴 열정렬값의 개수정렬된 결과가 담긴 열 이렇게 알고리즘을 고안할때는 다양한 정보가 필요합니다. 이러한 정보..
프로그래밍에서 프로그램을 효율적으로 작성하고 오류를 최소화하기 위한 것으로 '구조적 프로그래밍'이라는 개념이 있습니다. 구조적 프로그래밍에서 프로세스의 흐름은 다음 3가지 구조를 조합해서 설명됩니다순차구조 >>> 작성된 순서대로 순차실행한다선택구조 >>> 조건에 따라 수행할 작업의 흐름을 바꾼다반복구조 >>> 조건이 일치하는 동안일정과정을 반복해서 실행한다 처리의 흐름을 설명하는 알고리즘 역시 이 3가지 구조의 조합으로 설명됩니다 이 내용은 모두 책 '그림으로 배우는 알고리즘'에서 가져온 것입니다 출처 : 그림으로 배우는 알고리즘 - 예스24이 책은 알고리즘과 프로그램이란 무엇인지부터 시작하여 프로그래밍의 기초인 변수와 배열, 여러 개의 데이터를 저장하기 위한 자료구조에 대해 알려준다. 기초적..
누구나 좋아하는 요리를 만들 수 있는 요리법은 많은 많은 사람이 이용하게 되고 '좋은 요리법'으로 인정받게 됩니다. 이렇게 음식요리법은 맛있는 요리를 만들기 위한 '선인의 지혜'기 담기고 쌓인 결과입니다. 알고리즘도 같습니다. 컴퓨터가 등장한 이후, 주어진 과제를 컴퓨터로 해결하기 위해 다양한 처리절차가 고안되어 왔습니다. 또한 많은 연구자들이 보다 일반적인 처리 절차가 없는지, 더 빠르게 처리를 할 수 없는지, 더 데이터 양을 낮출 수는 없는지 등을 고려해 알고리즘들을 개량해왔습니다. 그 결과 개량된 알고리즘들이 좋은 알고리즘으로 남게 되었고 많은 프로그램에서 사용되고 있습니다. 좋은 알고리즘은 프로그램을 작성할 때 본보기가 됩니다. 그러므로 알고리즘 학습은 좋은 프로그램을 만들기 위한 이정표와 ..
새롭게 알고리즘에 대해 알아보겠습니다. 어렵지 않게 정의와 개념부터 부담없이 접근해보겠습니다. 알고리즘을 이해하고 있다면 우리는 프로그램을 멋지게 작성할 수 있습니다. 더 효율적이고 정확한 문제해결이 가능한 프로그램을 만들 수 있게 됩니다. 알고리즘이란 컴퓨터를 이용해서 주어진 과제를 해결할 수 있는 처리절차를 말합니다. 그 절차를 예를 들어보자면 정보의 순서를 정해 나열하고 원하는 정보를 검색하며 몇개의 숫자들의 최대공약수를 구하는 것과 같은 것입니다. 이과정에의 '처리절차'를 알고리즘이라고 합니다. '문제해결을 위한 처리절차'라고 말할 수 있습니다 음식을 만드는 레시피도 음식을 만드는 과제를 해결하기 위한 방법을 순서대로 기록한 것이며 일종의 알고리즘이라고 할 수 있습니다. 블로그..