본문 바로가기
::protected/이것저것

알고리즘 문제 풀때 자주 쓰는 것들(?)

by 해맑은욱 2019. 9. 6.

생각없이 쓰다보면 헷갈리는 것들

 

오름차순 / less<int>() / a < b

내림차순 / greater<int>() / a > b

string + string -> int 정렬시

s1 + s2 > s2 + s1 / 내림차순 

 

*아스키코드

'0' - 48 ~ '9' - 57

'A' - 65 ~ 'Z' - 90

'a' - 97 ~ 'z' - 122

 

*문자열 관련

stoi(str) // string > int

to_string(int) // int > string

s[i] = tolower(s[i])  // 소문자로

s[i] = toupper(s[i]) // 대문자로

isdigit(s[i]) // char 형변환시 int인지 bool반환

string 정렬시 > less<char>(), greater<char>()

 

*소수 구할때(2,3,5,7의 배수를 제외하고 남은 수)

// 2, 3, 5, 7의 배수를 제외
// 주어진 수만큼 bool 값 체크. 남은 수는 소수.
for (int i = 2; i <= n; i++)
{
    if(number[i] != false)
    {
        for(int j = i * 2; j <= n; j += i)
            number[i] = false;
    }        
}        
cs

 

*정수 사이 합

// a가 b보다 작아야 한다(정렬)
int sum = (a + b) * (b - a + 1/ 2;
cs

 

*약수의 합

for(int i = 1; i * i <= n; i++)
{
    if(n % i == 0)
        answer = answer + i + n / i;
    if(i * i == n)
        answer = answer - i;
}
cs

 

*자릿수 더하기

sum += n % 10;
/= 10;
cs

'::protected > 이것저것' 카테고리의 다른 글

SVN - Previous operation has not finished; run 'cleanup' if it was interrupted 오류 해결  (0) 2022.02.03
C++ 코드 컨벤션(by김포프)  (0) 2019.11.20
깃허브  (0) 2019.11.15
아스키 코드표  (0) 2019.09.06
Naming Rule  (0) 2019.06.28