#1. 셀프넘버
문제번호: 4673
정답비율: 55.804%
분류: 5.함수사용하기
1) int d(int n) 함수 : n과 n의 각 자리수를 더하는 함수 정의
2) int self[MAX] : 0이면 셀프넘버임을 저장하는 매트릭스
d(n)에서 나온 수가 해당 수를 생성했을 때, 1로 마킹
각 자리수 추출법 ver.1
int num;
int ld = 0; //last digit
while(num){
ld = num%10;
/*실행코드*/
num /= 10;
}
각 자리수 추출법 ver.2
int num = input;
int cd = num%10; //current last digit
int pd = 0; //previous last digit(second-last digit)
while(num){
pd = cd;
/*실행 코드*/
num /= 10;
cd = %10;
}
#2. 한수
문제번호: 1065
정답비율: 47.892%
분류: 5. 함수사용하기
비고: 양의 정수 X의 자리수가 등차수열을 이루는지 알아보기
1)int han(int n) 함수: n의 각 자리수가 등차수열을 이루는지 알아보기
2)
int pd, cd: previous 공차와 current 공차
int flag : pd == cd 이면 마킹
#3. 별찍기-11
★함수를 기능별로 나누어 차근차근 Divide-Conquer하여 푸는 문제
문제번호: 2448
정답비율: 32.217%
분류: 5. 함수사용하기
비고: 프랙탈모양 별찍기
1) string line[MAX] : 출력할 별 string을 저장
2)
-void shift_star(int start_line, int level) : start_line으로부터 level에 해당하는만큼 shift
-void copy_star(int start_line int level) : start_line으로부터 level에 해당하는만큼 바로 밑에 같은 모양 복사 붙여넣기
-void double_star(int start_line int level) : start_line으로부터 level에 해당하는만큼 star들을 같은 라인안에서 횡으로만 복사 붙여넣기
-void double_shape(int start_line, int level) : 위 3가지 함수를 이용하여 전체 shape를 위아래로 복사, 윗부분은 shift_star, 아랫부분은 doube_star 하여 프랙탈 만들어주기
string 기본 사용법
#include <string> //string 이용시 include하여야 편리
#define MAX 1000
string line[MAX]; //행렬로 선언가능
string str;
int main(void){
line[0] = " * ";
line[1] = "*";
buffer = line[1] + line[0]; // += 혹은 + 로 내용 자유자재로 편집
line[2] = str;
str.clear(); //다음에 또 쓰기위해 clear 해주기
printf("%s\n", line[2].c_str); //c++에서 string 내용 인쇄 }
define 전처리문 사용법
#include <cmath> // pow(int 밑, int 지수) header
#define TL(x) 3*pow(2,x)
...
int tl = TL(level); //디버깅을 위해 지역변수로 저장
#4. 단어의 개수
문제번호: 1152
정답비율: 20.716%
분류: 6. 1차원 배열 사용하기
getline(cin, str) 사용법
#include <string>
string str;
getline(cin, str);
for(unsigned int i=0; i<str.length(); i++){
cout<<str.at(i);
}
#5. 숫자의개수 (Easy)
문제번호: 2577
정답비율: 65.662%
분류: 6. 1차원 배열 사용하기
-각 자리수 추출법을 사용
'[Study] 알고리즘 문제풀이' 카테고리의 다른 글
2174-로봇시뮬레이션 #class내의 static변수 #?:숏코딩 (0) | 2017.04.18 |
---|---|
14500-테트로미노 #Segmentation Fault #Static (0) | 2017.04.18 |
22. 브루트포스 #class #list<class Person> #Sort(Person::compare) (0) | 2017.04.02 |
16: 동적계획법 기초 #MAX함수 #*, & (0) | 2017.03.29 |
12: 큐 사용하기 #list #priority_queue #BFS #DFS (0) | 2017.03.29 |