전체 글 (131) 썸네일형 리스트형 11. 숫자의 총 개수(small) (it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비) ★☆☆☆☆ #include int main(){ int n; scanf("%d", &n); int count = 0; for(int i = 1; i 0) { count++; x = x / 10; } } printf("%d", count); } 1. while()에서 i > 0 일 때, count++ 후 i = i / 10; 을 해도 무한 loop가 걸린다. 따라서 i의 값을 임시 지역 변수 x에 할당해주고 x의 값을 변경해야한다. 10. 자릿수의 합 (it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비) ★★☆☆☆ #include int digit_sum(int x) { int temp = 0; int sum = 0; while(x > 0){ temp = x % 10; sum += temp; x = x / 10; } return sum; } int main(){ int n; scanf("%d", &n); int a[n]; for(int i = 0; i max_sum) { max_sum = sum; num = a[i]; } else if(sum == max_sum) { if(a[i] > num) .. 9. 모두의 약수 (it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비) ★★☆☆☆ #include int count[50001]; // 전역 변수 선언 int main(){ // main 함수 내에 count[]를 선언하면 // 초기값이 0이 아니라 쓰레기 값으로 초기화된다. int a; scanf("%d", &a); for(int i = 1; i 8. 올바른 괄호 (it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비) ★☆☆☆ #include int main(){ char a[30]; gets(a); int count = 0; for(int i = 0; a[i] != '\0'; i++){ if(a[0] != '(') { count = -1; break; } if(count == -1) break; if(a[i] == '(') count++; else if(a[i] == ')') count--; } if(count == 0) printf("YES"); else printf("NO"); return 0; }반례 - 반례 1. 첫 괄호가 '(' 가 아닐 때 2. 닫는 괄호가 여는 괄호보다 갯수가 많아질 때 ( count < 0 ) 첫 점수 : 40점 (반례 2번을 찾지 못했음) 7. 영어단어 복구 (it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비) ★★★☆☆ #include using namespace std; int main(){ char a[101], b[101]; gets(a); int p = 0; for(int i = 0; a[i] != '\0'; i++) { if(a[i] != ' ') if(a[i] >= 65 && a[i] 6. 숫자만 추출 (it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비) ★★☆☆☆ #include int main(){ char a[50]; // 문자열 선언 scanf("%s", &a); // 입력을 string으로 받고 문자열 a에 저장 int result = 0; int count = 0; // 숫자를 만나면 기존 숫자값을 한 자리 수 위로 보내고 그 숫자를 저장 for(int i = 0; a[i] != '\0'; i++) // '\0' 은 배열에서 null 을 나타낸다. { if(a[i] >= 48 && a[i] 5. 나이 계산 (it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비) ★☆☆☆☆ #include // printf() 와 scanf()를 사용하기 위한 헤더 using namespace std; int main(){ char a[20]; int year, age; scanf("%s", &a); // 입력을 string으로 받아서 char 배열 a에 저장 // 년도 구하기 if(a[7] == '1' || a[7] == '2') { year = 1900 + ((a[0]-'0') * 10) + (a[1] - '0'); } else { year = 2000 + ((a[0]-'0') * 10) + (a[1] - '0'); } // 나이 구하기 age = 2019 - year + 1; printf("%d ", age); // 성별 구하기 if(a[7] == '1' || a[7] == '3') .. 4. 나이 차이 (it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비) ★☆☆☆☆ #include #include // vector #include // vector의 최댓값, 최솟값을 구하기 위한 헤더 using namespace std; int main(){ vector ages; // vector 선언 int a = 0; int n = 0; // 변수 선언 및 초기화 cin>> n; // 입력받을 값 개수 // 결과 도출 for(int i = 0; i > a; ages.push_back(a); } // max(min)_element(const iterator begin, const iterator end) // 배열의 시작 - 끝에서 최대(최소)의 값을 iterator로 반환 // *(포인터) 를 추가하면 실제값을 반환 int max = *max_ele.. 이전 1 ··· 13 14 15 16 17 다음