본문 바로가기

지난 학기들의 기록/C 기초21

[C실습] BOJ/10809 + 문자열과 포인터 예제 문자열과 포인터를 공부하고 있어서 백준 예제 문제와 실습문제로 주어진 문제 몇가지들을 풀어보았습니다. 배열과 문자열을 포인터를 활용하여 접근하면 call by reference 이기때문에, call by value와 다르게 활용할수있는 방법이 많았습니다. 꾸준히 연습해서 자유자재로 다룰 수 있도록 연습할 것 입니다. https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net #pragma warning(disable:4996) #include.. 2020. 6. 14.
[C실습] 배열예제 - 2차원 배열에서 다른 배열찾기 실습 문제중에 나온 문제입니다. 다른 문제에 비해 풀이하는데 시간이 걸렸으므로 기록해두기 위해 포스트를 씁니다. 핵심사항은 비교하는 배열과 비교당하는 배열을 구분지어서 각각의 인덱스를 독립적으로 생각해야한다는 점이었습니다. 자세한 내용은 코드에 주석을 달아두었습니다. #완성된 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 #pragma warning(disable:.. 2020. 6. 8.
[C실습] 배열예제 -초를 입력받고 그 후의 시,분,초 구하기 #pragma warning(disable:4996) #include int main() { int time[3];// idx 0 -> hours, 1->minute , 2->second int aftertime; int after_sec[3] = { 0 }; scanf("%d %d %d", &time[0], &time[1], &time[2]); int a=0,b=3600; scanf("%d", &aftertime);//a는 추가한 초 for(int i=0;i 2020. 6. 2.
[C실습] 함수 예제 - 시저암호화 및 복호화(Caesar cipher,카이사르 암호)+수정(파이썬코드 추가) 함수예제 - 시저 암호화 및 복호화 ( Caesar cipher, 카이사르 암호) 이번 포스트에서는 대표적인 암호학 예제인 시저암호를 C언어와 파이썬으로 구현해보겠습니다. 문제는 다음과 같습니다. 아이디어 생각하기 문자형 배열에서 자주 등장하는 문제입니다. 아스키코드표에서 대문자와 소문자 범위는 정해져있는데 M을 입력받아 M칸을 이동한 알파벳을 출력하는 것입니다 . 예시로 들면 apple 라는 문자열이 주어졌을때 3칸씩 이동시키게 되면 d s s o h 가 출력되게 되는것입니다. 여기서 주의해야할 점을 말하자면 M칸씩 이동시켰는데 z를 넘어버리면 다시 a로 돌아와야합니다. 위의 알고리즘을 소문자,대문자에 적용하여 암호화 함수 encrypt와 복호화 함수 decrypt를 구현합니다. 먼저 코드 작성전에 앞.. 2020. 6. 1.