Posts 알고리즘 팁(WIP)
Post
Cancel

알고리즘 팁(WIP)

구조 관련

정렬된 배열의 앞 뒤로 새로운 요소를 삽입 해야되는 경우

  • 필요한 길이의 2배길이의 배열을 선언한 다음, (start, to)로 인덱스를 트래킹해가면서 넣는다.
  • 이때 start, to의 초깃값은 2배 길이의 배열의 딱 중간이어야함(그래야 최솟값만 들어가거나, 최댓값만 들어갈때도 배열이 터지지 않음)

소수판별

  • floor(sqrt(n)) 까지만 검사해도 됨.

라이브러리 관련

string

  • < > == + 등의 연산자 사용가능
  • .substr(index, size)
    • 첫번째에는 시작 인덱스, 두번째에는 사이즈를 넣음
    • O(n)의 시간복잡도를 가지므로 조심해서 사용
  • .replace(index, size, str)
    • 첫번째에는 시작인덱스, 두번째에는 사이즈, 세번째에는 변경할 문자열을 넣음
    • 첫번째와 두번째로 정해진 범위를 세번째의 문자열로 교체한다.
  • .compare(string)
    • 매개변수로 들어온 string과 같으면 0을 반환하고, 다르면 0이 아닌 수를 반환한다.
    • 호출하는 string의 값이 매개변수보다 사전순으로 앞에 있을땐 음수, 사전순으로 뒤에 있을땐 양수를 반환
  • .find(str, index = 0)
    • 호출하는 string과 매개변수로 들어오는 string 중에 일치하는게 있는지 확인
    • 만약 일치하는게 있으면, 일치하는 부분의 첫번째 순서를 반환한다.
    • 두번째는 어디서부터 찾을지이며, 디폴트는 0이다.
  • .append(str2, n, m)
    • 뒤에 str2의 n index부터 m개의 문자를 이어 붙임
  • .append(n, char)
    • 뒤에 n개의 char를 이어붙임
  • .insert(n, str2)
    • n번째 index 뒤에 str2를 이어붙임
  • .erase(n, m)
    • n~m번째 문자를 지움
  • 변환 관련
    • to_string(num) : 숫자를 문자열로 바꿔줌
    • stoi(), stof(), stol(), stod() : 문자열을 숫자로 바꿔줌
This post is licensed under CC BY 4.0 by the author.

Object Oriented Programming

함수형 프로그래밍

Comments powered by Disqus.