본문 바로가기

전체 글

(56)
[C++] 두 수의 최대공약수와 최소공배수 (유클리드 호제법) [C++] 최대공약수와 최소공배수와의 관계 (유클리드 호제법) 알고리즘 문제를 풀다보면, 두 수의 최대공약수나 최소공배수가 필요한 상황이 생긴다. 이러한 상황에서는, 최대공약수만 구하더라도 최소공배수를 알 수 있기 때문에 최소공배수를 구하는 법만 알고있으면 된다. 최소공배수를 구하는 방법은 여러가지가 있지만, 컴퓨터 알고리즘에는 유클리드 호제법으로 구하는 것이 가장 빠르고 많이 사용되는 방식이다. #include using namespace std; int gcd(int a, int b) { int r; while (b != 0) { r = a % b; a = b; b = r; } return a; } int main() { int a, b; cin >> a >> b; cout >> GCD(4, 8) >..
데이터 베이스 함수적 종속성, 정규화 1NF, 2NF, 3NF, BCNF 14장 데이터 베이스 함수적 종속성, 정규화 (Dependencies and Normalization) 본 포스팅의 내용은 Fundamentals of Database System (Pearson) 책의 내용을 참고하여 작성되었습니다. 이번 시간에는 데이터 베이스 정규화에 대해서 살펴보도록 하겠습니다.위키피디아에 따르면, 데이터 베이스 정규화란 다음과 같습니다.관계형 데이터베이스의 설계에서 중복을 최소화하게 데이터를 구조화하는 프로세스를 정규화라고 한다. 데이터베이스 정규화의 목표는 이상이 있는 관계를 재구성하여 작고 잘 조직된 관계를 생성하는 것에 있다. 일반적으로 정규화란 크고, 제대로 조직되지 않은 테이블들과 관계들을 작고 잘 조직된 테이블과 관계들로 나누는 것을 포함한다. 정규화의 목적은 하나의 ..
자바스크립트로 구구단 표 만들기 구구단 표 만들기 html에 1단부터 9단까지 81개의 숫자를 일일이 써서 테이블을 만들 수 있지만, 이 방법은 너무 오래걸리고 실수가 생길 염려가 있습니다. 이럴 때는 구구단의 규칙을 이용해서 테그의 엘리먼트들을 동적으로 생성해서 표를 만들 수 있습니다. document.createElement() 라는 함수에 테그의 이름을 인자로 넘기면 하나의 엘리먼트를 리턴하고 객체 인스턴스를 추가하고 싶은 엘리먼트에 .appendChild() 메소드를 호출하여 넘겨주면 우리가 생성한 엘리먼트가 자식으로 들어가게 됩니다. html이 아닌 javascript로도 테그를 생성하고, 테그들 간의 위계관계도 조정할 수 있다는 사실을 기억하시기 바랍니다. 구구단 표 입니다.
javascript 파일 분리하기 javascript 파일 분리하기 이전 포스팅에서는 html파일 내부에 스크립트 태그를 직접 열어서 그 내부에 코드를 직접 작성해서 화면에 알림창을 띄워보았습니다. 지금은 html내부가 간단하지만 웹페이지가 복잡해질 수 록 여러가지 기능을 하는 스크립트 들이 늘어나게됩니다. 이 때 javascript를 분리시켜 놓으면 나중에 문제가 생겼을 때 코드를 유지보수 하기가 쉽고, 가독성도 좋아집니다. 그렇다면 어떻게 자바스크립트 코드를 html 코드와 분리시키는지 알아보도록 하겠습니다. 우선 html파일 옆에 .js 라는 확장자를 가진 파일을 하나 생성합니다. 이름은 아무거나 지어도 되는데, 헷갈리지 않게 하기 위해서 html파일과 같은 이름을 가지도록 파일을 생성하였습니다. 그리고 나서 index.js 파일 ..
자바스크립트로 HelloWorld 브라우저에 띄우기 자바스크립트로 Hello World 브라우저에 띄우기 HTML파일에서 Java script를 사용하고 싶으면, 위에 형광색으로 칠한 부분처럼 java script 코드 부분을 script 라는 코드로 감싸면 됩니다. alert라는 함수를 이용해서 함수안에 'Hello World"라는 문자열을 넣은 뒤에 html 파일을 실행하면 아래와 같이 웹페이지 상단에 알림창에 우리가 넣었던 문자열을 볼 수 있습니다. alert함수는 단순히 텍스트를 출력하는 것 이외에도, 사용자에게 긴급한 메시지를 보내거나, 디버깅을 할 때 사용됩니다.
[Python3] 파이썬 데이터 자료형 (Data Type) 파이썬 데이터 자료형 파이썬 데이터 자료형에 대해서 알아보겠습니다. 프로그래밍 언어에는 여러가지 '데이터 타입' 이라는 것이 존재합니다. 그렇다면 데이터 타입이라는 것은 왜? 존재할까요? 예를들어 숫자계산을 해야하는 프로그램이 있다고 생각합니다. 이 프로그램은 대부분 숫자를 더하고 빼고 곱하고 나누고 하는 것들을 할 텐데, 이 때 컴퓨터에서 미리 정해놓은 데이터 타입의 변수를 이용하면 훨씬 효율적으로 계산할 수 있습니다. 이해가 조금 되시나요? 코드를 보면서 차근차근 이해해 봅시다. 위의 코드에서 사용한 type()는 파이썬에서 변수나 상수의 type을 출력해주는 함수입니다. a는 int(정수) 타입이고, b는 str(문자열)타입으로 출력이 되었습니다. 단순히 1이라는 숫자를 따움표를 감쌌을 뿐인데 타입..
[Python3] 파이썬 Variable (변수) 파이썬 변수 (Variable) 프로그래밍 언어에서 변수는, 우리가 수학시간에 배웠던 x,y,z 라는 변수의 역할과 매우 비슷합니다. 변수에는 어떠한 값이나, 주소와 같은 데이터가 저장되는데, 수학에서 처럼 이 변수를 이용해서 어떤 값을 계산하는 데 사용되기 도 하고 값을 변경하는데도 사용할 수 있습니다. 앞으로 프로그래밍을 많이 하다보면 변수의 필요성을 알게되고 많이 사용하게 될 것입니다. a 라는 변수에 9를 담고, b라는 변수에 8을 담아서 곱한 결과를 print() 함수를 이용하여 화면에 출력한 결과 입니다. 변수에 값을 담고 싶다면 변수를 왼쪽에 쓰고 '=' 대입연산자를 쓰고 우변에 값을 작성하면 a에 9라는 값이 담기게 됩니다. 우리가 수학에서 사용했던 '같다' 라는 문장과 혼동할 수 있으니 ..
[Python3] 파이썬 Hello World 출력하기 (표준 출력) Hello World 출력하기 (표준 출력) 이번 시간에는 파이썬 언어를 이용해서 "Hello World!" 를 콘솔에 출력해보도록 하겠습니다. 너무 간단하지만 print() 프린트 라고 하는 글자를 적고 이 안에 작은 따움표 Hello World! 라는 문자을 감싼 뒤에 프로그램을 실행시키면 Hello World!라는 문자가 화면에 출력됩니다.