본문 바로가기

프로그래밍/알고리즘17

[알고리즘] 순차탐색, 이진탐색 알고리즘 소개 및 성능 비교 #include stock LinearSearch( arr[], size, target ){ new i; for( i = 0; i 2012. 11. 19.
[C언어/알고리즘] 암호화, 복호화의 원리 위 코드는, 문자열을 입력 받은 다음 암호화 할 것인지, 복호화 할 것인지 사용자의 의사를 묻고 암호(복호)키(얼마만큼 문자열을 이동(변형)시킬 것인지) 를 입력받아 암호/복호화 하는 순서로 돌아갑니다. 암호화와 복호화의 원리가 무엇이냐면 비밀번호와 같은 특정 데이터를 입력 받고 배열에 저장된 데이터의 각 원소들을 일정량만큼 변형시켜서 변현된 최종 데이터를 반환하는 것인데요. 예를 들어서, 만약에 "abcde" 라는 비밀번호를 입력했다고 가정했을 때, a,b,c,d,e 는 각각 하나의 문자로써 ASCII 코드를 가지고 있습니다. a = 97, b = 98, c = 99, d = 100, e = 101 입니다. 반복문을 통해서 a~e 까지의 문자에 3이라는 암호키를 더한다고 가정하면 100(d), 101(.. 2012. 11. 19.
[C언어/알고리즘] sizeof 연산자를 이용해 배열의 원소 개수를 구하는 방법 sizeof 는 다들 아시다시피 피연산자로 지정된 대상의 메모리 크기를 구해주는 연산자입니다. 현직 프로그래머들 중 일부도 이 sizeof 를 연산자가 아닌 함수로 오인하고 계시는데, sizeof 는 함수가 아닌 연산자입니다. sizeof 연산자는 컴파일 할 때, 컴파일러가 대상의 사이즈를 계산해서 연산 부분에 연산 결과를 대입하기 때문에 많이 사용해도 성능 저하의 염려가 없습니다. 2012. 11. 19.
[C언어/알고리즘] 문자열의 대소문자 반전 영어로 이루어진 문자열을 입력받고 대소문자를 반전시켜 출력하는 문제다. 소문자는 대문자로, 대문자는 소문자로 변형시켜야 한다. 테스트케이스는 다양하게 나오지 않는 문제입니다. 전부 소문자, 전부 대문자, 섞어서 입력하는 게 전부겠네요. 보통은 문자열 최대 크기가 주어지겠죠. 입력 예시] AbCdE 출력 예시] aBcDe 2012. 9. 17.