복습(36)
-
[회원가입 사이트 만들기] 7. 게시판 만들기
DB에 게시판 테이블 만들어주기 회원 정보가 담긴 테이블이 있는 DB에 게시판 정보를 담을 테이블을 추가로 생성해준다. 코드는 아래와 같다. create table board ( bidx int primary key identity(1,1) not null, bno int not null, --글 번호 name varchar(30) not null, -- 글쓴이 아이디 title varchar(50) not null, --글 제목 bcontent text not null, -- text는 2000자까지 작성 가능, 글 내용 pwd varchar(10) not null, --게시글 패스워드 email varchar(50) not null, wdate datetime default (getdate()), -..
2024.04.10 -
[알고리즘] 선택 정렬 C언어 구현하기!
이전 글에서는 선택 정렬에 대해 간단히 설명하였다. https://studywithsheep.tistory.com/6 [알고리즘] 선택 정렬(selection sort) 쉽게 이해하기! 선택 정렬이란 ? 원소를 넣을 위치는 이미 정해져 있고, 어떤 원소를 넣을지 선택하는 알고리즘이다. 나는 이게 인간의 사고와 가장 유사한 알고리즘이라는 생각이 든다. 주어진 숫자 다섯가지 studywithsheep.tistory.com 이번에는, 선택 정렬을 C언어를 이용해 직접 구현해보겠다. 먼저 컴퓨터는 어떤 과정을 거쳐 선택 정렬을 수행할지 생각해보자. 지난 글에 적힌 것과 같이, 먼저 이렇게 수를 비교하여 배열의 맨 앞 쪽에 가장 작은 (or 가장 큰) 수가 오도록 한다. 다음에는 당연히 그 다음으로 작은 (or ..
2024.04.09 -
[알고리즘] 병합 정렬 (merge sort) 쉽게 이해하기!
병합 정렬 (merge sort) 병합 정렬, 합병 정렬 둘 다 같은 말이다.. 병합 정렬은 일단 배열이 더 이상 쪼개지지 않을 때까지 절반으로 계속 쪼갠다. 그리고 조각을 2개씩 묶어 각각을 크기순으로 배열하고 또 그 조각을 2개씩 묶어 크기순으로 배열하는 식이다. 예를 들어, [4, 1, 8, 6, 7, 2, 3, 5] 가 있으면 이런 식으로 원소가 하나 하나 뜯어질 때까지 나눈다. 그리고 더 이상 뜯어지지 않을 정도로 나뉘어졌다면, 이제 반대로 하나 하나 붙이는데, 이 때 정렬을 같이 해준다. 이게 끝이다..! 알고리즘을 이해하는 것 자체는 그리 어렵지 않을 것이다. 분할 정복 알고리즘 하지만 지금까지 설명했던 알고리즘과는 달리 굳이 이렇게 해야하나? 싶을 수도 있을 것 같아 설명을 덧붙이자면, 배..
2024.04.09 -
[알고리즘] 퀵 정렬(quick sort) 쉽게 이해하기!
퀵정렬 (quick sort) 퀵정렬을 설명하는 글을 보면, 피벗을 기준으로 피벗보다 작은 원소들은 모두 피벗의 왼쪽으로, 피벗보다 큰 원소들은 모두 피벗의 오른쪽으로 옮기는 것이라고 적혀있는데, 이 때 피벗(pivot)은 단순히 '먼저 선택된 성분' 정도로만 생각해도 될 것 같다. 다시말해, 먼저 특정 원소가 피벗으로 선정되고 그 원소에 따라 배열이 진행되는 것이 퀵정렬이다. '팀 나누기' 라고 생각하면 쉬울 것 같다. 배열 [5, 7, 3, 6, 2, 1] 이 있을 경우를 예로 들어보겠다. 맨 왼쪽의 원소 5를 피벗으로 정한 뒤, 피벗보다 작거나 같은 원소를 A팀, 피벗보다 큰 원소를 B팀으로 나누어보겠다. 이 때, 원소들은 차례로 줄을 서 있고, 앞에 서있는 원소부터 자리를 찾아가야 한다. 그렇다면..
2024.04.08 -
[알고리즘] 버블 정렬(bubble sort) 쉽게 이해하기!
버블 정렬 (bubble sort) 버블 정렬, 거품을 뜻하는 그 버블이 맞다. 서로 인접한 두 원소끼리 비교하고 크기 순으로 위치를 바꾸는 알고리즘인데, 예를 들면 이런 느낌이다. 임의의 배열 [7, 21, 18, 36, 2 ] 이 있다고 가정하면 버블 정렬은 이렇게 비교를 해주는 식이다. (저 동글 동글한 게 꼭 버블같다고 해서 버블 정렬인 듯 하다. ㄱㅇㅇ..) 오름차순으로 정렬한다고 치면, 과정은 다음과 같다. 1. 7과 21을 비교하고 작은 수를 왼쪽에 둔다. -> 7이 더 작으므로 순서는 7 , 21 그대로 [7, 21 , 18 , 36, 2] 2. 21과 18을 비교하고 작은 수를 왼쪽에 둔다. -> 18이 더 작으므로 순서 18, 21로 바뀜 [7, 18, 21, 36, 2] 3. 21과 ..
2024.04.08 -
[회원가입 사이트 만들기] 6. 회원 정보 수정/ 탈퇴
회원정보 수정 (mem_edit.asp) 이제 회원 정보 수정 페이지(mem_edit.asp)를 만들어주어야 하는데, member.html 코드를 복사해준 뒤 조금만 수정해주면 되므로 간단하다. 우선 구현된 모습을 먼저 확인해보겠다. 이런 식으로, 회원 이름과 userID는 수정이 불가능하게 고정시켜두고 나머지 정보는 수정할 수 있도록 구현해야 한다. 또한, 수정된 정보는 정상적으로 DB에 반영되어야 한다. 기본 틀은 member.asp와 같으므로 복붙해주고, form 태그의 action을 mem_edit_reg.asp로 바꾸어준다. 후에 작성할 mem_edit_reg.asp 코드는 전에 작성했던 mem_regist.asp 처럼 form 태그에 입력된 데이터를 DB로 옮겨주는 역할을 한다. 그리고, 이름..
2024.04.03