디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

오늘의 코테준비

고졸국비갤로그로 이동합니다. 2024.11.05 05:57:18
조회 80 추천 0 댓글 3

1.자료구조 하나 따라치기

#include <iostream>
using namespace std;

#include "../../shared/print.cpp"
#include "../../shared/insertion_sort.cpp"

/*
선형탐색
count를 구현해보고 sequential search를 구현해본 다음 sotredCount도 구현해보기

count - 배열 arr에 x가 몇번 나오는지 반환
sequentialSearch - 배열 arr에 x가 있으면 index 반환, 없으면 -1 반환
sortedCount - 정렬된 배열에서 x가 몇 번 나오는지 반환(정렬되어 있으므로 조기종료 가능)

요약: 정렬이 되어있을때는 조기종료를 할 수 있어서 count를 더 효율적으로 할 수 있다
*/

int sequentialSearch(int* arr, int n, int x);
int count(int* arr, int n, int x);
int sortedCount(int* arr, int n, int x);
int sortedCountHelper(int* arr, int n, int x, int start);

int main()
{
cout << "sequential search(linear search)" << endl;

// 정렬되지 않은 데이터를 가정
int arr[] = {8, 1, 1, 3, 2, 5, 1, 2, 1, 1};
int n = sizeof(arr) / sizeof(arr[0]);

cout << "Count number" << endl;
cout << "Count 9 = " << count(arr, n, 9) << endl; // 0
cout << "Count 2 = " << count(arr, n, 2) << endl; // 2
cout << "Count 8 = " << count(arr, n, 8) << endl; // 1
cout << "Count 1 = " << count(arr, n, 1) << endl; // 5
cout << endl;

cout << "Find number index(-1 is not exist)" << endl;
cout << "Search 2 = " << sequentialSearch(arr, n, 2) << endl; // 4
cout << "Search 5 = " << sequentialSearch(arr, n, 5) << endl; // 5
cout << "Search 9 = " << sequentialSearch(arr, n, 9) << endl; // -1
cout << endl;

insertionSort(arr, n);

printArray(arr, n);

cout << "Sorted Count 9 = " << sortedCount(arr, n, 9) << endl; // 0
cout << "Sorted Count 2 = " << sortedCount(arr, n, 2) << endl; // 2
cout << "Sorted Count 8 = " << sortedCount(arr, n, 8) << endl; // 1
cout << "Sorted Count 1 = " << sortedCount(arr, n, 1) << endl; // 5
cout << endl;

return 0;
}

int sequentialSearch(int* arr, int n, int x)
{
int i;
for(i = 0; i < n && arr[i] != x; i++);
if(i == n) return -1;
else return i;
}

int count(int* arr, int n, int x)
{
int count = 0;
for(int i = 0; i < n; i++)
{
if(arr[i] == x)
{
count += 1;
}
}
return count;
}

int sortedCount(int* arr, int n, int x)
{
int i = sequentialSearch(arr, n, x);

if(i >= 0)
return sortedCountHelper(arr, n, x, i + 1) + 1;
else
return 0;
}

int sortedCountHelper(int* arr, int n, int x, int start)
{
int count = 0;
for(int i = start; i < n; i++)
{
if(arr[i] == x)
count++;
else
break; // 정렬이 된 배열이기 때문에 조기종료 할 수 있다
}

return count;
}


2.solvedac class 두문제 풀기

2609

#include <iostream>
#include <fstream>
#include <vector>
using namespace std;

int gcd(int a, int b);
int lcm(int a, int b);

int main()
{
int a, b;
cin >> a >> b;

cout << gcd(a, b) << endl;
cout << lcm(a, b) << endl;
return 0;
}

/*
약수: 나눴을때 나머지가 0인 수
공약수: 두개 이상 자연수의 약수의 교집합의 원소
최대공약수: 공약수 중 가장 큰 수
30, 12이면 공약수가 2, 3, 6이니까 최대공약수는 6이다

구하는 방법
30, 12의 최대공약수와 12, 6(30%12)의 최대공약수는 같다는 성질을 이용한다
큰 수를 작은수로 나눠서 나머지를 구한다
그리고 작은수와 나머지의 최대공약수를 구하는것을 반복하다가
나머지가 0이되면 그 값이 최대공약수다
gcd(30, 12) = gcd(12, 6) = gcd(6, 0) = 6
*/
int gcd(int a, int b)
{
while(b != 0) {
int temp = b;
b = a % b;
a = temp;
}
return a;
}
/*
배수: 자연수의 배수
공배수: 두개 이상 자연수의 배수의 교집합의 원소
최소공배수: 공배수중 가장 작은 수
30, 12이면 공배수가 60, 120, 180, ... 이니까 최소공배수는 60이다

구하는 방법
최대공약수는 공약수니까 이걸로 나눠도 무조건 공배수다
수끼리 곱한 뒤 가장 큰 약수로 나누면 가장 작은 공배수가 된다
lcm(30, 12) = 30 * 12 / gcd(30, 12) = 60
*/
int lcm(int a, int b)
{
return (a * b) / gcd(a, b);
}

11050

#include <iostream>
using namespace std;

int bc(int n, int k);
int factorial(int n);

int main()
{
int n, k;
cin >> n >> k;
cout << bc(n, k) << endl;
}

/*
이항계수: 이항식을 이항정리로 전개했을때 각 항의 계수
이항식: 두 단항식의 합
이항정리: 이항식의 거듭제곱을 이항계수를 계수로 하는 단항식의 합으로 전개 하는것을 정리한것

(x + y)^n 을 했을때
n이 1이면 계수는 1, 1(x + y)
n이 2이면 계수는 1, 2, 1(x^2 + 2xy + y^2)
n이 3이면 계수는 1, 3, 3, 1(x^3 + 3xy^2 + 3x^2y + y^3)
n이 4이면 계수는 1, 4, 6, 4, 1
n이 5이면 계수는 1, 5, 10, 10, 5, 1
...

이렇게 이항식에서 n이 증가할때의 계수를 이항정리라고 한다
또한 x^n-k * y^k꼴의 항의 개수는 n개에서 k개를 고르는 조합의 가짓수와 같아서
(n, k)라고 하면 n개중에 k개를 고르는 방법의 가지수가 된다

예를들어 (5, 2)로 5개중에 2개를 고르는 방법의 가지수는 x^3 * y^2로
위 이항정리에서 n이 5인 이항계수 중 3번째 항(k는 0부터)의 계수인 10이 된다

구하는 방법
(n, k) = n! / k! * (n - k)!
5! / 2! * 3! = 10
*/
int bc(int n, int k)
{
return factorial(n) / (factorial(k) * factorial(n - k));
}

int factorial(int n)
{
int result = 1;

for(int i = n; i != 0; i--)
result *= i;
return result;
}


오늘 두문제다 왜 수학이냐 수포자인데 개념배우는게 더힘드네

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 기 세보여도 실제로는 멘탈 약할 것 같은 스타는? 운영자 24/11/04 - -
2770390 매일 책 2~3시간씩 읽는중... 그 무엇보다도 우선순위에 두는중 [1] ㅇㅇ(123.213) 11.05 27 1
2770389 어마금 3기 OP - Gravitation 딱국(118.235) 11.05 26 0
2770388 크래프톤 정글 vs 어소트락 ㅇㅇ(221.141) 11.05 18 0
2770387 어떤 병신신입이 깃헙에 회사코드 올리려고 했노 [1] 프갤러(117.111) 11.05 79 0
2770385 하루 한 번 헤르미온느 찬양 헤르 미온느갤로그로 이동합니다. 11.05 32 0
2770384 이거 좀 도와주세요....ㅠㅠ -->AI/SW 관련 전문교육 프갤러(175.195) 11.05 32 0
2770382 몸 쑤심+감기기운 있는듯.. ♥인생무상냥덩♥갤로그로 이동합니다. 11.05 37 0
2770381 일본거주 10년차가 분석하는 '멘헤라' 프로외노자갤로그로 이동합니다. 11.05 79 0
2770380 SI 종사자들이 얼마나 비참하냐면 [6] 프로외노자갤로그로 이동합니다. 11.05 173 0
2770379 머냐 42서울 온라인테스트 합격했음 [2] 고졸국비갤로그로 이동합니다. 11.05 106 0
2770377 프붕 여러분 작별의 시간이 왔어요. 다정한형(58.236) 11.05 43 0
오늘의 코테준비 [3] 고졸국비갤로그로 이동합니다. 11.05 80 0
2770374 음기 충전 발명도둑잡기갤로그로 이동합니다. 11.05 35 0
2770373 영어권에 살고싶다 ㅇㅇ갤로그로 이동합니다. 11.05 38 0
2770372 일어나자마자 달리기, 찬물샤워 조졌다 [1] 고졸국비갤로그로 이동합니다. 11.05 63 0
2770371 제3차 자본 분열, 미국은 어디로 갈까? 발명도둑잡기갤로그로 이동합니다. 11.05 34 0
2770370 부트캠프 수료하고 네카라쿠배 취업했다 ㅇㅇ(106.101) 11.05 101 3
2770368 여성한테 7번 차이고 인형과 결혼…일본 남성의 6년 후 근황 발명도둑잡기갤로그로 이동합니다. 11.05 45 0
2770367 김정은 ‘아파트’ 영상에 분개한 이들 발명도둑잡기갤로그로 이동합니다. 11.05 54 0
2770366 자기개발 유튜버들 개웃김 ㅋㅋ 헬마스터갤로그로 이동합니다. 11.05 66 0
2770365 KEY 키 'Forever Yours (Feat. 소유)' 발명도둑잡기갤로그로 이동합니다. 11.05 28 0
2770362 프린트펜 evebot 발명도둑잡기갤로그로 이동합니다. 11.05 29 0
2770361 취미로 퇴근하고 웹쪽 공부좀 하고있는데요 html 어느정도 해야되나요? [5] ㅇㅇ(118.235) 11.05 103 0
2770360 진짜 다정한 사람 발명도둑잡기갤로그로 이동합니다. 11.05 58 0
2770359 안녕하세요 창업 게이 질문받습니다 [3] 창업게이(125.128) 11.05 101 2
2770358 부캠 둘중에 뭐가 나을까요... [3] 프갤러(121.190) 11.05 75 0
2770356 이 방 관리자가 나 차단했다 [2] 발명도둑잡기갤로그로 이동합니다. 11.05 73 0
2770355 Reeve Stimpson - Over Me 뮤비 보니 생각나는 예전 글 발명도둑잡기갤로그로 이동합니다. 11.05 22 0
2770354 ㅆㅇㅆ야 죽기싫으면 [1] 멍청한유라ㅋ갤로그로 이동합니다. 11.05 93 0
2770353 이제 자자 멍청한유라ㅋ갤로그로 이동합니다. 11.05 32 0
2770352 자다 깻는데 개좃같은 꿈 꿧네 ♥인생무상냥덩♥갤로그로 이동합니다. 11.05 67 0
2770351 아베노믹스의 실패. 30년 경제 침체 끝 일본을 떠나는 일본 청년들 발명도둑잡기갤로그로 이동합니다. 11.05 29 0
2770350 우울하다... 공격하기 위해서 공부한게 아니야 [1] 딱국(118.235) 11.05 50 0
2770348 How We Made an 80's Inspired Music Video 발명도둑잡기갤로그로 이동합니다. 11.04 20 0
2770347 위키에서 쫒겨난 진짜 전문가 발명도둑잡기갤로그로 이동합니다. 11.04 45 1
2770346 심리공작원 개발군주의 공작으로 또 ㅆㅇㅆ가 떠났다 [1] 발명도둑잡기갤로그로 이동합니다. 11.04 45 0
2770345 개인용 리눅스 서버 뭐 추천? [12] 프갤러(121.191) 11.04 130 0
2770344 저장용 ♥인생무상냥덩♥갤로그로 이동합니다. 11.04 27 0
2770343 How a Clever 1960s Memory Trick Changed 발명도둑잡기갤로그로 이동합니다. 11.04 17 0
2770342 더이상 올라갈 곳이 없다 [4] 아스카영원히사랑해갤로그로 이동합니다. 11.04 80 0
2770341 Adele - Someone Like You 에어로홍갤로그로 이동합니다. 11.04 19 0
2770340 퇴사하니까 마음이 편하네 ㅋㅋ [1] 프갤러(121.134) 11.04 70 0
2770339 Adele - Rolling in the Deep 에어로홍갤로그로 이동합니다. 11.04 24 0
2770338 Jenna Davis - LUCKIER 발명도둑잡기갤로그로 이동합니다. 11.04 14 0
2770337 Someone You Loved- Conor Maynard 에어로홍갤로그로 이동합니다. 11.04 20 0
2770336 우히히 우히히 다정한형(58.236) 11.04 21 0
2770335 태연 'Letter To Myself' Prologue - 'Disast 발명도둑잡기갤로그로 이동합니다. 11.04 21 0
2770334 Reeve Stimpson - One Night Stand 발명도둑잡기갤로그로 이동합니다. 11.04 18 0
2770333 프갤가수 옛날노래 ㅡ 장미의 미소 다정한형(58.236) 11.04 40 0
2770332 프갤가수 최신노래 ㅡ 그대와 함께 다정한형(58.236) 11.04 48 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2