[C언어 복습] 문자열
·
Major/C&C++
1. 문자열 선언 - 문자열은 char배열안에 선언해야한다. char arr[] = "Hello, world!"; char arr1[] = {'a','b','c'}; 2. 문자열 입출력 - 문자열을 입력받을 때 &를 쓰지않는다. char s[100]; scanf("%s",s); - %s 를 이용하여 출력함. printf("%s",arr); 3. 문자열 배열의 크기 - 첫번째 방식으로 배열을 선언할 시, 마지막에 '\0' (널문자)가 들어가기 때문에 배열의 길이가 한칸더 늘어난다. char arr[] = "Hello, world!"; 배열의 크기 : 14(sizeof(arr)의 값) char arr1[] = {'a','b','c'}; 배열의 크기 : 3(sizeof(arr1)의 값) 4. 문자열 관련 함수..
[C언어 복습] 배열
·
Major/C&C++
1. 배열 1) 선언 방법 1. 자료형 배열이름[배열크기]; int arr[3]; //배열은 0으로 초기화 된다. 2. 자료형 배열이름[] = {1, 3, 4, ...} int arr[] = {1,2,3} //배열의 크기를 지정하지 않아도 된다. 2) 배열의 활용 ① 배열 거꾸로 출력 #include int main(){ int n; int arr[1000]; //배열은 상수로만 배열의 크기를 지정할 수있다. scanf("%d",&n); for(int i=0;i=0;i--){ printf("%d ",arr[i]); } } ② 배열 최대값, 최소값 출력 #include int main(){ int n; int arr[1000]; scanf("%d",&n); for(int i=0;i
[C++] 17478번 재귀함수가 뭔가요?
·
Algorithm/Solution
17478번: 재귀함수가 뭔가요? (acmicpc.net) 17478번: 재귀함수가 뭔가요? 평소에 질문을 잘 받아주기로 유명한 중앙대학교의 JH 교수님은 학생들로부터 재귀함수가 무엇인지에 대하여 많은 질문을 받아왔다. 매번 질문을 잘 받아주셨던 JH 교수님이지만 그는 중앙대 www.acmicpc.net 난이도 : 실버 5 오타확인 필수! 풀이과정 : 문제그대로 재귀함수를 이용해서 풉니다 1. n의 값이 함수에 들어오면 0이 될때까지 question~answer03까지 출력후 n--해주고 재귀함수로 다시들어갑니다. (그 후에꺼(end1)는 n의 값대로 출력되겠죠?) 2. n이 0이되면 진짜 답을 출력해줍니다. (question,answer2,end1) 간단해보여도 미리 어떻게 풀건지 메모장에 정리하기 ㅠ..
[C++] 2960번 에라토스테네스의 체
·
Algorithm/Solution
2960번: 에라토스테네스의 체 (acmicpc.net) 2960번: 에라토스테네스의 체 2, 4, 6, 8, 10, 3, 9, 5, 7 순서대로 지워진다. 7번째 지워진 수는 9이다. www.acmicpc.net 난이도 : 실버 4 생각보다 오래 걸렸던 문제였어요 ㅠ 에라토스테네스의 체를 공부하고 관련된 코드를 보면서 짜다가 보통의 에라토스테네스 알고리즘 코드랑 이 문제가 약간 다르잖아요? P를 포함해가지고 제거되는 거라.. 하튼간 쉽지 않았던 문제!! 였습니다. 저한테는... 풀이과정 : 1. visited배열에 2부터 N까지 집어넣는다! (v(2) =2, v(3)=3 ... 이런식으로) 2. i가 2일때는 2, 4, 6, 8.... 3일때는 3,6,9,... 이런식으로 지워져야 하기때문에 이중 fo..
[C++] 2167번 2차원 배열의 합
·
Algorithm/Solution
2167번: 2차원 배열의 합 (acmicpc.net) 2167번: 2차원 배열의 합 첫째 줄에 배열의 크기 N, M(1 ≤ N, M ≤ 300)이 주어진다. 다음 N개의 줄에는 M개의 정수로 배열이 주어진다. 배열에 포함되어 있는 수는 절댓값이 10,000보다 작거나 같은 정수이다. 그 다음 줄에는 www.acmicpc.net 난이도 : 브론즈1 비교적 쉬운 문제였습니다. 문제 이해만 잘 한다면? 문제 이해가 안가시는 분들을 위해 설명을 해드리자면 2, 3 = 행이 2이고, 열이 3인 배열OR벡터를 생성 밑에 두줄은 배열에 들어가는 수를 뜻하구요 (0,0)=1, (0,1) =2 ... (편의를 위해 배열의 시작을 0,0으로 가정) 3 밑에 세줄이 이해 안가실 거같은데 위와같은 방식으로 더해가는 거랍니다..
Hi
·
My profile
안녕하세요, 컴공학부생 베니입니다. 개인 공부용 블로그 이니 글에서 오류가 있다면 댓글로 달아주시면 감사하겠습니다. 궁금한 점이 있으시면 언제든지 댓글로 남겨주세요 :) + 블로그 이름이 "코딩 못하는 컴공"인 이유는 코딩이든 뭐든 잘한다, 못한다의 기준은 비교대상에 따라 달라진다고 생각해서... 언젠가 내가 내 자신에게 만족할 만큼 코딩 잘하는 컴공이 되기 위해 계속 노력하고 싶어서 이렇게 지었습니다 !
[C++] 11944번 NN
·
Algorithm/Solution
11944번: NN (acmicpc.net) 11944번: NN 첫 번째 줄에는 N, M이 주어진다. (1 ≤ N, M ≤ 2016) www.acmicpc.net 난이도 : 브론즈2 백준 답 낼때 오타 있는지 제발 검수하고 내야겠다는 다짐이 든 문제였습니다.. 비교적 쉬운 난이도의 문제라 빨리 풀었는데 출력초과! 가 떠서... 왜지?? 하다가 처음부터 새로 다시짠... 근데 새롭게 도저히 못짜겠어서 친구한테 물어볼려고 처음코드 다시 봤는데... 오타 하나가.... 치명적이게.. 억울하다 억울해 내시간 거의 1시간 반을 투자했다구 ㅠ 답 : #include #include using namespace std; int main() { int n, m; scanf("%d %d", &n, &m); string ..
[C++] 2609번 최대공약수와 최소공배수
·
Algorithm/Solution
2609번: 최대공약수와 최소공배수 (acmicpc.net) 2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. www.acmicpc.net 난이도 : 실버 5 풀기 전 알아야 할 개념 : 최대공약수와 최소공배수의 개념을 알고 그냥 풀 수도 있기는 한데요, 최대공약수는 두 수를 1부터 N까지 계속 나누면서 공통적으로 나머지가 0이 나오는 값중에 가장 큰 값이고, 최소공배수는 두 수를 최대 공약수로 나눠서 둘이 곱해준 값입니다.(왜냐면 두 수의 최대공약수로 나누면 그 수가 서로소가 가 되기 때문에, 서로소를 곱한 값이 최소 공배수가 되기 때문) 근데 이렇게 하면 시간복잡도가 유클리드호제법을 이용한 것보다 크다..
[C++] 1100번 하얀 칸
·
Algorithm/Solution
1100번: 하얀 칸 (acmicpc.net) 1100번: 하얀 칸 체스판은 8*8크기이고, 검정 칸과 하얀 칸이 번갈아가면서 색칠되어 있다. 가장 왼쪽 위칸 (0,0)은 하얀색이다. 체스판의 상태가 주어졌을 때, 하얀 칸 위에 말이 몇 개 있는지 출력하는 프로그램 www.acmicpc.net 난이도 : 브론즈 2 원리 : char로 문자열을 받아서 이중 반복문을 이용해 f를 센다. 홀수줄은 num이 0, 짝수줄은 num이 1 이되어 줄별로 F가 세지는 게 다르게 된다.(홀수줄은 인덱스 0부터 시작, 짝수줄은 인덱스 1부터 시작하여 2씩더해지며 값이 비교됨) 답 : #include int main() { char std[9]; int chk = 0, num = 0; for (int i = 0; i < 8..