4차시 문제 8번~15번 풀이 <백준 문제> 8. 단어 공부 그냥 코드 돌리면 된다. 코드는 다음과 같다. #include #include int main() { char arr[1000000]; scanf("%s",arr); int n=strlen(arr); int k,l=0,m,f=0; for(int i=0;i C언어/C언어 4차시 2023.04.17
4차시 문제 1번~7번 풀이 <코드업 문제> 1. 마름모 출력하기 >5 ** * * * * * * * * * * * * * * * * ** 일반적인 별찍기 문제로 이렇게 나오면 된다. 코드는 다음과 같다. #include int main(){ int n; scanf("%d",&n); for(int i=0;i C언어/C언어 4차시 2023.04.17
3차시 함수, 재귀함수 함수 프로그래밍에서 함수란 특별한 목적의 작업을 수행하기 위해 독립적으로 설계된 프로그램 코드의 집합으로 정의할 수 있습니다. C 프로그램은 이러한 함수들로 구성되며, 포함된 함수들을 사용하여 목적을 달성하게 됩니다. 함수를 사용하는 이유는 반복적인 프로그래밍을 피하기 위함이며, 필요할 때마다 함수를 호출하여 반복작업을 실행할 수 있습니다. 함수를 선언하는 방법은 다음과 같습니다. 변환자료형 함수이름 (매개변수 목록) { 함수 내용; } 이를 코드로 짜면 다음과 같습니다. #include int func(int a){ if(a>5) printf("%d는(은) 5보다 큽니다",a); else if(a5) printf("%d는(은) 5보다 큽니다",a); else if(a10 10는(은) 5보다 큽니다 >3.. C언어/C언어 3차시 2023.04.14
2차시 포인터와 구조체 포인터란? C언어에서 포인터란 메모리의 주소값을 저장하는 변수이며, 포인터 변수라고도 부릅니다. char형 변수가 문자를 저장하고, int형 변수가 정수를 저장하는 것처럼 포인터는 주소값을 저장합니다 포인터 변수를 선언할 때 코드는 아래와 같습니다. a라는 정수형 변수에 10을 넣어주고 포인터에 타입인 int와 변수 이름 앞에 *를 붙입니다. 그리고 &를 통하여 a라는 변수의 주소값을 불러옵니다. 마지막으로 printf를 할 때 포인터 변수 앞에 *을 붙여주면 주소에 지정된 값을 불러줍니다. 그러나 만약 *를 붙이지 않는다면 그저 주소값만 불러오게 됩니다. 실행 결과는 아래와 같습니다. 이처럼 포인터는 *를 붙이는 것에 따라 출력값이 확연히 다를 수 있기에 코드를 짤 때는 상황에 맞게 적절히 사용해야 합.. C언어/C언어 2차시 2023.04.12
2차시 문제 3번 풀이 int* 형 자료 front,back과 int형 자료 data를 포함한 구조체 comp를 만든다. comp구조체 배열의 크기를 100으로 저장 후, *front의 값을 NULL로 저장한다. 이외에도 여러 변수 저장. n만큼 반복 후 idx[i]에 data를 저장한다. 그와 동시에 front를 idx[i]로 저장한뒤 m이 0보다 크면 back을 idx[i]로 저장한다. 이 반복문이 끝나면 front에는 현재 배열의 전 배열 값, back에는 전 배열값의 후 배열값을 저장하게 된다. 마지막에 while문을 통해 data의 값을 출력하다가 back값이 NULL이 되면 무한반복을 빠져나오도록 하였다. **이번 문제는 내가 여태까지 풀었던 문제 중 제일 골치 아프면서 머리아팠는데, 아마 포인터와 구조체의 원리와 .. C언어/C언어 2차시 2023.04.11
2차시 문제 2번 풀이 PERSON 구조체 안에 이름, 전화번호, 주민등록 번호 선언 입력 정보를 각각 stl.name,phone,num의 배열에 저장 다음으로 찾을 정보를 input에 저장 입력한 번호에 따라 받을 정보를 입력하고 그 정보와 일치하는 배열을 찾는다. 그리고 그 배열안에 있는 name,phone,num을 출력해준다. C언어/C언어 2차시 2023.04.11
2차시 문제 1번 풀이 먼저 처음엔 알고리즘을 알아야 한다. 가로나 세로로 규칙을 찾아보려 했으나 후에 대각선 배열이라는 것을 알게 되었다. 처음엔 n의 값을 입력받고 다음에 2차원 배열 arr을 선언하여 그 크기를 100x100으로 둔다. 그다음 변수 l=0으로 두어 후에 반복문에 쓴다. 먼저 조건을 i=0;i C언어/C언어 2차시 2023.04.09
백준10798 세로읽기 C언어 풀이 먼저 2차원 배열 arr의 크기를 5x15로 둔다. 그리고 5번만큼 arr에 문자열을 입력받는다. 그리고 다시 이중 반복문을 각각 15,5번만큼 반복을 시키고 배열 arr의 [j][i]가 공백('\0')이 아니라면 그 문자를 출력한다. 이렇게 되면 공백이 생기더라도 빈칸이 나오는 것을 막을 수 있다. C언어/C언어 1차시-2 2023.04.09
백준2738 행렬 덧셈 C언어 풀이 먼저 변수 n과 m을 입력받고 행렬 A와 B의 크기를 nxm으로 둔다. 그리고 이중 반복문을 각각 n과 m 만큼 반복하고 행렬 A와 B에 하나하나씩 입력해 나간다. 그리고 마지막에 다시 이중 반복문을 각각 n과 m 만큼 반복하고 A와 B의 같은 위치끼리 더한 값을 출력한다. C언어/C언어 1차시-2 2023.04.09
백준1546 평균 C언어 풀이 먼저 배열 scr을 선언해 준다. 그다음 변수 n에 시험을 본 개수를 입력받고 그만 틈 반복을 돌린다. 그리고 변수 m에 시험 정수 중 가장 높은 점수, 즉 최댓값을 저장한다. 그리고 scr[i]의 해당하는 시험 점수를 모두 세준이의 방식대로 바꾼 뒤, 변수 sum에 바뀐 점수를 더한다. 저 때 m의 형태를 double로 두어 계산해야 소수까지 계산이 된다. 마지막으로 double형 변수 avg에 평균 값을 저장한 뒤 출력한다. C언어/C언어 1차시-2 2023.04.09