[알고리즘] 공부를 시작하기 전에 ...

._.·2021년 2월 21일
0

알고리즘 공부

목록 보기
1/13

메모리는 신경쓸 필요가 없다. 시간만 신경쓰면 공간은 따라온다.

1. 입/출력

  • C : scanf/printf

  • C++ : scanf/printf, cin/cout

    • cin/cout은 느림
      해결 방법)

      ios_base::sync_with_stdio(false);
      cin.tie(nullptr);                
    • endl 대신에 '\n' 를 사용 (endl은 불필요한 'flush')

  • Python : input/print, sys.stdin.readlind()

    • input/print 느림
      해결 방법) 출력이 많은 경우, 한 문자열로 한번에 출력

2. 언어별 유의사항

  • C
    • strlen(s)의 시간복잡도는 O(N^2)
      해결 방법) C++ string의 .length(), Python의 len()은 O(1)
  • C++
    • s = s + "A" 의 경우, O(N^2)
    • s += "A" 의 경우, O(N)
  • Python
    • a = a + [10001] 의 경우, O(N)
    • a.append(10001) 의 경우, O(1)
    • a = a + [1, 2, 3] 의 경우, O(N+K)
    • a.extend([1, 2, 3])와 a += [4, 5, 6] 의 경우, O(K)

0개의 댓글