본문 바로가기
반응형

전체 글1310

[BOJ] 백준 15650 N과 M (2) 출처: https://www.acmicpc.net/problem/15650 Input 4 2 Output 1 2 1 3 1 4 2 3 2 4 3 4 중복 없는 조합을 구현하는 문제이다. 조합의 경우는 선택 여부로 구현할 수 있다. arr = [1, 2, 3, 4] [1 3]; 1을 선택한 후, 3을 선택한 경우 [1 4]; 1을 선택한 후, 4를 선택한 경우 [2 1]; 처음 1을 선택하지 않고, 2를 선택한 경우 [1 2]; 1을 선택한 후, 2를 선택한 경우 (이하 생략) ▶ 순열과 조합 (백준 N과 M 시리즈) 순열과 조합 (백준 N과 M 시리즈) 순열과 조합 순열(Permutation) / 조합(Combination)에서 개수를 구하는 경우에는 아래 공식을 이용하면 되지만 순열 및 조합으로 경우의.. 2021. 5. 9.
[BOJ] 백준 15654 N과 M(5) 출처: https://www.acmicpc.net/problem/15654 Approach - Input Data로 주어지는 원소는 중복되지 않음을 보장 - 오름차순을 출력해야 하므로, 순열 전에 Sort 처리 - 재귀 방식으로 중복 없는 순열 구현 ▶ 합병 정렬(Merge Sort) 합병 정렬(Merge Sort) Merge Sort 분할 정복(divide and conquer) 기법으로 만들어진 정렬 방법 → O(N * logN) - 1단계 분할(Divide) - 해결이 용이한 단계까지 문제를 분할해 나간다. - 2단계 정복(Conquer) - 해결이 용이한 수준.. zoosso.tistory.com ▶ 순열과 조합 (백준 N과 M 시리즈) 순열과 조합 (백준 N과 M 시리즈) 순열과 조합 순열(Pe.. 2021. 5. 9.
순열과 조합 (백준 N과 M 시리즈) 순열과 조합 순열(Permutation) / 조합(Combination)에서 개수를 구하는 경우에는 ▶ P(n, r) = n × (n - 1) × (n - 2) × ... × (n - r - 1) = n! / (n - r)! 상황에 따라서는 주어지는 Data가 나올 수 있는 모든 경우가 필요할 수 있다. - 순서 의미 O → 순열 - 순서 의미 X → 조합 - 중복 허용 순열 접근 방식 ① P(4, 3) = 4 x 3 x 2 ② P(4, 3) = 4개 중 1개 선택 x 3개 중 1개 선택 x 2개 중 1개 선택 ③ 재귀탐색하는 모습은 아래와 같다. [1, 2, 3, 4] 에서 『1』 선택 [2, 3, 4] 에서 『2』 선택 [3, 4] 에서 『3』 선택 ▶ 1 2 3 [3, 4] 에서 『4』 선택 ▶ 1.. 2021. 5. 8.
원형 큐 (Circular Queue) 동적할당 + Memory Pool 방식 원형 큐 (Circular Queue) 원형 큐에 대한 개념이나 배열로 구현한 내용이 궁금하시다면 ▶ [큐] 원형 큐 (Circular Queue) [큐] 원형 큐 (Circular Queue) 원형 큐 (Circular Queue) 기본적인 Queue 구조는 push와 pop을 반복하다보면 Index (Rear)는 오른쪽으로 이동하게 된다. ▶ [큐] Queue란? [큐] Queue란? Queue란? 선입선출(First In First Out, FIFO)의 자료.. zoosso.tistory.com 구조체 형태 - 생성자, 소멸자, 삭제 멤버함수 구현 struct Node{ int data; Node* next; Node(){ // default constructor data = 0, next = NU.. 2021. 5. 7.
아스키(Ascii) 코드 활용 아스키(Ascii) 코드 활용 프로그래밍 문제를 풀 때(PS)는 0 ~ 9 숫자를 문자로 표현하는 경우도 있고, 반대로 "A ~ Z" 혹은 "a ~ z" 문자를 정수형으로 이용하는 경우가 있다. 이때 이용하는 것이 아스키(Ascii) 코드이다. (* 일부만 표기) 아스키 코드(ASCII Code)란? 미국표준협회(ANSI)에서 지정한 표준 부호로, 숫자 ↔ 문자를 표현하기 위한 문자 인코딩이다. 아스키는 컴퓨터와 통신 장비를 비롯한 문자를 사용하는 많은 장치에서 사용되며, 대부분의 문자 인코딩이 아스키에 기초를 두고 있다 - A ~ Z 까지 연속되다가 a ~ z 시작전에 중간에 다른 특수문자가 존재한다. - 알파벳은 a ~ z 까지는 26개이다. - A (65) ~ Z (90) 이며, a (97) ~ z.. 2021. 5. 6.
블로그 운영을 위한 방법과 마음가짐 블로그 운영을 위한 방법과 마음가짐 1년 넘게 블로그를 운영하면서 800여개 글을 작성하였습니다. 단순히 기록하고 공유하는 것에서 블로그를 시작했습니다. 점점 많아지는 내용 속에서 가독성이 편한 스킨에 대해 고민하였고, 저작권에 문제가 될 수 있는 글을 배제하고자 Tistory 블로그를 이전하게 되었습니다. 현재는 평일 하루 200~300 정도의 유입량이 보입니다. 이전 블로그에서 평일 하루 방문자가 500명대 였지만 블로그를 옮기면서 상단에 노출되었던 글들이 없어지고, 새롭게 구글 검색엔지 상단에 노출되려면 많은 시간과 노력이 필요할 것 같습니다. ▶ [후기] Tistory 블로그 이전 경험 티스토리 블로그는 네이버 블로그와 달리 이웃소통없이 일반통행하는 느낌은 있지만 HTML / CSS를 통해서 Cu.. 2021. 5. 5.
책 내용을 요약해서 포스팅한다면 저작권 위반일까? 관련 법 규정은 상이할 수 있으므로 참고 자료로 권장 책 내용을 요약해서 포스팅한다면 저작권 위반일까? 블로그 포스팅 시 고민해야할 요소 블로그 작성시 고민해야할 블로그 작성시 고민해야할 블로그를 시작하게 된 계기는 공부한 내용을 저장하기 위한 것이었지만 수익형 블로그로 전환하면서 저작권에 신경쓰게 되었습니다. ▶ [Tistory] 구글 에드 zoosso.tistory.com 독서 후 인상 깊은 구절을 포함해서 포스팅 하고 싶은 경우가 있다. Q) 그렇다면 책 내용을 요약해서 올린다면 저작권 위반일까? A) 원칙이나 법적으로는 처벌 대상이 될 수 있다 저작권법 136조에 따르면 저작재산권을 복제, 공연, 공중송신, 전시, 배포, 대여 2차적저작물 작성의 방법 등으로 침해한 자는 5년 이하의 징역 또는 5.. 2021. 5. 5.
블로그 작성시 고민해야할 <저작권> 블로그 작성시 고민해야할 블로그를 시작하게 된 계기는 공부한 내용을 저장하기 위한 것이었지만 수익형 블로그로 전환하면서 저작권에 신경쓰게 되었습니다. ▶ [Tistory] 구글 에드센스 승인 후기 및 Tip ▶ [후기] Tistory 블로그 이전 경험 나름의 시간과 노력을 투자해서 가독성 있는 글을 작성하고 노력하는 편이지만 더 풍부한 내용을 위해 다른 사람 글을 참고하기도 합니다. 이때, 저작권을 침해하지 않았는지, 굳이 저작권은 아니더라도 조심스럽기 마련입니다. 그래서 검색해보면서 저작권에 대해 알아본 내용을 공유합니다. About Copyright 불법 Contents로 의심되는 곳을 링크하는 것 역시 저작권 침해에 해당될 수 있습니다. 촬영자의 개성과 창조성이 인정되는 사진을 무단사용 "개성과 창.. 2021. 5. 5.
[알고리즘] 시간 성능 향상을 위한 코드 최적화 (C/C++) register 변수 사용 변수를 선언할 때 앞에 register 라는 키워드를 붙이면 변수는 RAM 대신 CPU의 레지스터를 사용한다. 따라서 변수에 접근하는 속도가 다른 일반적인 변수보다 빨라진다. 단, 레지스터의 개수는 한정되기에 "register"를 붙인다고 해서 모두 적용되는 것은 아니다. 많이 접근하는 변수에 사용할수록 효율이 좋아지기에, 반복문에서 많이 사용한다. register int i, j; for(i=0; i 5 (나눗셈 연산 자제하기) ② 홀수 / 짝수 판별 만일 어떤 정수가 홀수라면, 2진수로 나타냈을 때 맨 마지막 자리가 "1" ex) if ( x % 2 == 1) → if ( x & 1) ▶ 비트마스크 (Bitmask) 비트마스크 (Bitmask) 비트마스크 정수의 이진수 표현.. 2021. 5. 5.
[알고리즘] 코딩 테스트 문제 풀 때, 시간 복잡도 계산해보기 시간 복잡도 계산해보기 프로그램 작성 전에 어느정도 Input Data의 범위와 Logic 시간 복잡도로 수행 시간을 어림짐작할 수 있어야 합니다. SW 알고리즘 문제에서는 크게 시간 / 공간 제한이 존재합니다. ※ 대부분 알고리즘 문제를 풀 때는 메모리 제한이 엄격하기 보다는 시간 복잡도에서 주의해야 할 부분이 많으므로 이에 대해 다루고자 합니다. ※ 해당 글에서는 Big-O (빅오) 계산법을 중점으로 작성하였습니다. Big-O 계산 Big-O 계산은 쉽게 큰 수치가 시간 복잡도를 크게 좌우한다고 보면 된다. ex) N2 + N → O(N2) N3 + N2 + N + 1 → O(N3) 최고 차항만 차수만을 표기, 다항식에서 작은 단위의 계수들이 아무리 커도 최고차항의 계수에 큰 영향 X ▶ 1억 (10.. 2021. 5. 5.
반응형