일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 22869
- 16202
- 백준
- C++
- 3D #Reconstruction #computer #vision #volume #metric #tsdf #kinect #fusion
- 20117
- graph
- 투포인터 #백준 #boj #20922 #22862
- 3343
- 쌤쌤쌤
- c++ #boj #
- 레드아보
- 코딩
- 진법변환 #2to10 #10to2 #이진법 #십진법 #변환 #bitset #c++
- LIS #가장긴증가하는부분수열 #
- hcpc
- BOJ
- 백준 #다익스트라 #dijkstra #9370 #c++
- 최소 #공배수 #최대 #공약수 #유클리드 #호제법 #lcm #gcd #c++ #boj #3343 #백준 #장미
- N번째큰수
- 줄어드는수
- 사이클 없는 그래프
- 30870
- backtracking #codetree #디버깅 #삼성코테
- 이분탐색 #dp #11053
- boj #백준
- graph #최단경로
- 호반우 상인
- 1174
- c++ #입출력 #속도 #ios #sync_with_stdio #cin #cout #tie
- Today
- Total
목록전체 글 (160)
hyunjin
10진 -> n 진법 백준11005 소스코드 #include using namespace std; int main(){ int n,b; string ans; cin>> n>>b; while(n>0){ char c = (n%b)s >>n; cout>n; int len = n.size(); if( len %3 == 1) cout=0){ ans += '1'; tmp -=2; } else ans += '0'; if(tmp-1>=0){ ans += '1'; tmp -=1; } else ans += '0'; (i==0) ? cout
백준 2609 최대공약수 최소공배수 소스 코드 직접 구현 #include using namespace std; int GCD(int a,int b){ return b? GCD(b,a%b) : a; } int main(){ int a,b,g; scanf("%d %d",&a,&b); g = (a>b) ? GCD(a,b) : GCD(b,a); printf("%d\n%d",g,a*b/g); return 0; } gcd 라이브러리 사용 int main(){ int a,b; cin>>a>>b; cout B, cout
유클리드 호제법이란? 두 수의 최대 공약수를 구하는 알고리즘의 하나. 2개 자연수 a, b ( a > b )에 대해 a를 b로 나눈 나머지를 r이라 하면, a와 b의 최대공약수는 b와 r의 최대공약수와 같다. 또 다시 b , r 에 대해 b를 r로 나눈 나머지 r' 을 가지고 위의 과정을 반복해 나머지가 0이 되었을 때 나누는 수가 a와 b의 최대 공약수. ( a , b ) = ( b , r (=a%b) ) = ( r , r' ) ( 1071 , 1029 ) = ( 1029 , 42 ) = ( 42 , 21 ) = ( 21 , 0 ) = 21 21은 1071과 1029의 최대 공약수 GCD 관련 법칙 GCD( u , v ) = GCD( u - v, v ) if u < v GCD( u, v ) = GCD(..
백준 10430 바로가기 문제 자체는 쉽지만 다음에 풀 문제들을 위해 유클리드 호제법과 함께 같이 기록해놓는다. 소스코드 #include using namespace std; int main(){ int a,b,c; scanf("%d %d %d",&a,&b,&c); printf("%d\n%d\n%d\n%d", (a+b)%c, ((a%c)+(b%c))%c, (a*b)%c, ((a%c)*(b%c))%c ); return 0; } 유클리드 호제법이란? 두 수의 최대 공약수를 구하는 알고리즘의 하나. 2개 자연수 a, b ( a > b )에 대해 a를 b로 나눈 나머지를 r이라 하면, a와 b의 최대공약수는 b와 r의 최대공약수와 같다. 또 다시 b , r 에 대해 b를 r로 나눈 나머지 r' 을 가지고 위의 ..
백준 알파벳 개수 10808 소스 코드 - 소문자 아스키 #include using namespace std; int main(){ int i=0,alpha[26]={0,}; string word; cin>>word; //for(cin>>word ; word[i] ;) alpha[ word[i++]-'a']++; // 위에 이렇게도 가능 for(auto c : word)alpha[c-'a']++; for(auto e : alpha) cout
char string char -> string #include char ch[20] = "hello world"; string str1(ch); string str2 = ch; 1. string 생성자 이용해 생성 할 때 인자로 넘겨서 생성 2. char 배열 이름을 사용해서 대입 연사자 이용해 대입 string - > char //string -> char string str = "HELLO WORLD"; cout char* (동적 할당) string str = "hello world"; char *ch2 = new char[ str.size() + 1 ]; copy(str.begin(),str.end(),ch2); strcpy(ch2 , str.c_str()); // copy or str..
숫자, 알파벳 모두 확인하는 isalnum도 있음 1. isalpha 알파벳 판별 함수 헤더 파일 c++ 함수 원형 int isalpha (int c); char는 int나 EOF로 cast됨. 반환 대문자 A-Z(int 65~90) 는 1 반환 소문자 a-z(int 97~122) 는 2 반환 아니면 0 반환 cout 0이 나옴 - isdigit(str[1]) => '1' => 0이 아닌 수가 나옴 - isdigit(str[2]) => '2' => 0이 아닌 수가 나옴 - isdigit(str[3]) => '3' => 0이 아닌 수가 나옴 - isdigit(str[4]) => '4' => 0이 아닌 수가 나옴 - isdigit(str[5]) => '5' => 0이 아닌 수가 나옴 - isdigit(str..
백준 10809 바로가기 문자열을 입력받고 각 문자에 각 알파벳에 대해 문자열에서 처음 나오는 위치를 출력하는 문제다. 위치 찾는 방법을 find 활용해서 풀어보자. 소스코드1 #include using namespace std; int main(){ string w; cin>>w; // 기본 풀이 int a[26]; memset(a,-1,sizeof(a)); for(int i = -1; w[++i] ;) if(a[w[i]-'a'] < 0) a[w[i]-'a'] = i; for(auto e : a) cout