본문 바로가기

알고리즘

(24)
파이썬 1. def 함수에서 global의 의미 2. 2차원 배열 입력 받는 방법 array.append(list( map(int,input()split()) )); 의 의미 3.이차원 배열 초기화 visited =[ [-1] * n for _ in range(m) ] 4. adj 리스트 만들기 위한 빈 배열 초기화 adj = [ [ ] for _ in range(n) ] 5. q = deque() q. popleft() 그냥 pop 으로하면 안됨
SQL 기초 [ MAX MIN ] SELECT MAX( id ) FROM t GROUP BY class ; [ DESC ASC ] SELECT * FROM t ORDER BY id DESC ;
unordered map (C++) Hash Map 과 비슷한 Key-Value 자료구조. 공식적으로 unordered Map 을 권한다. key를 Int형으로 사용할경우 왠만하면 O(1)의 복잡도를 유지한다. 데이터가 많은 경우에는 unordered_map 이 map 보다 성능면에서 유리합니다. 문자열을 키로 사용하는 경우 문자열이 길어질 수록 unordered_map 이 map에 비해 더 성능이 떨어질 수 있습니다. 유사도가 높은 문자열 집합을 키로 사용하는 경우에 map 의 성능이 떨어질 수 있습니다. #include namespace std unordered_map hash_map; [1] Key가 존재하는지 찾기 auto it = hash_map.find( "key1" ); if( it != hash_map.end() ){ cout
소수를 구하는 방법 1. 자기보다 작고 1보다 큰 수들로 나누어보았을떄 나누어떨어지는 수가 없다 2. 자신의 1/2보다 '' 3. 자신의 루트보다 ''
BFS ---------------------------------------------(tip1)--------------------------------------------- 0 1 2 3 . . m 열의갯수 0 (x,y) 1 2 3 . . n 행의갯수 ---------------------------------------------(tip2)----------------------------------------------- 전역 변수로 설정한 int 들은 0으로 초기화 된다. ---------------------------------------------(tip3)----------------------------------------------- # pair p; p.first p.second # ..
cin과 cout 으로 인한 시간초과 잡는 2가지팁 첫번쨰. endl 을 "\n"으로 바꾸어주어라. 두번째. main함수 맨앞에 std::ios::sync_with_stdio(false); cin.tie(0); 을 작성해주어라. cpp의 iostream을 c의 stdio와 동기화시켜주는 역할을 한다.
[c++ stl] vector 배열인데, 동적할당을 우리가 따로 해주지 않아도 되는 자동으로 비워주고 메모리 에 올려주는 효자 배열이다. ## 벡터의 값을 초기화하며 생성하기 : vector test(n, a) ㄴ test라는 int형 벡터를 n칸 만들고 그 안의 원소를 a로 초기화 ㄴ 만약 vector test(n)만 하면 값 0을 n개 갖는 벡터가 만들어진다. ## 벡터안에서는 리스트의 형태로 저장되어있다. ㄴ vector.begin() : 벡터의 데이터가 있는 리스트의 시작 주소를 리턴(첫 번째 값의 위치) ㄴ vector.end() : 리스트의 끝 주소를 리턴 (마지막 값보다 한칸 뒤 위치를 리턴) ㄴ iteator사용 가능 - vector::iterator it= vec.begin(); - *(it)이런식으로 해당 이터레이터..
[c++ : stl] list list l; listiterator it; it=l.begin(); //////////////////////////////iterator 의 위치//////////////////////////////////// begin 첫번쨰 원소 end 마지막 원소의 뒤 insert 지정된 자리에 원소를 삽입 (삽입후 다음위치로 iteator를 알아서 옮겨준다. /////////////////////////////////////////////////////////////////////////////////// //지우기할떄 맨앞이면 지우기할시 에러가 뜨므로, if (it != result.begin()) { l.erase((--it)++); } //insert할떄 는 해당위치에 삽입후 삽입된 원소로iteator를 ..