목록Computer (168)
Machineboy空
2005년 리누스 토르발스(Linus Torvalds), 리눅스 창시자이기도 한 그가 지옥같은 작업환경에서 벗어나기 위해 만든 시스템이 바로 깃입니다. 리눅스를 만드는 개발자들은 깃을 통해 리눅스의 수많은 소스 코드를 효율적으로 관리하기 시작했습니다. 그리고 오늘날에는 리눅스뿐만 아니라 수많은 소프트웨어의 소스 코드가 깃을 통해서 관리되고 있습니다. 버전 관리(Version Control)문서를 수정할 때마다 언제 수정했는지, 어떤 것을 변경했는지 편하고 구체적으로 기록하기 위한 버전 관리 시스템백업(Backup)백업은 현재 컴퓨터에 있는 자료를 다른 컴퓨터에 복제하는 것입니다. 외장 하드 디스크나 USB 디스크 등 별도의 저장 장치를 마련해서 백업할 수도 있고, 드롭박스(Dropbox)나 구글 드라이브..
분할정복(Divide and Conquer)Divide : 큰 문제를 작은 문제로 분할한다.기저사례(base case)를 잘 설정하여 일정 기준 이상 분할되지 않도록 해야한다.Conquer: 작은 문제의 답을 모아 큰 문제의 답을 구한다.일반적으로 재귀로 구현한다. 백트래킹(backtracking)답이 될 수 없는 경우는 탐색 대상에서 제외하여 효율적으로 답을 구하는 알고리즘가지치기(pruning)를 통해 연산량의 유의미하게 줄여줌가지치기를 사용하기 위해서는 현재 상태에서 도달할 수 있는 상태가 모두 답이 될 수 없음을 보여야함.정확한 시간 복잡도를 구하기 어려움 분할 정복백트래킹주로 재귀적인 방식으로 해결하위 문제를 해결하고 결과를 결합하여 문제를 해결문제 해결을 위해 모든 가능한 선택을 시도한 후,..
1. 회문(Palindrome)ex) "소주만병만주소", "수박이박수", "Madam, I'm Adam", "1234321" 회문을 판단하는 방법? 2. 올바른 괄호 문자열(VPS = Valid Parenthesis String)ex) (()), (())()보통은 스택(Stack)을 사용해서 해결')'가 입력될 때마다, 스택에 있는 '('를 하나씩 지운다. 이때 스택(top)이 비어있거나 '('이 없으면 올바른 괄호 문자열이 아님모든 문자열을 순회한 뒤, 스택이 비어있으면 올바른 괄호 문자열이고 비어있지 않으면 올바르지 않은 괄호 문자열임
내일 풀 수학 문제의 개수는 오늘 푼 문제 개수의 수와 숫자의 구성이 같으면서, 오늘 푼 문제 개수의 수보다 큰 수 중 가장 작은 수입니다.예를 들어, 오늘 67문제를 풀었으면 다음 날 76문제를 풉니다. 오늘 푼 문제의 개수를 줬을 때 다음날 풀 문제의 개수를 출력하는 프로그램을 작성하세요.입력오늘 푼 문제의 개수 자연수 N1 출력다음날 풀 문제의 개수 출력문제요약입력값과 같은 구성의 수 중 가장 작은 큰 수풀이 포인트Next-permutation정렬REVIEW경우의 수가 다양해지면 자꾸 생각하길 포기한다.작은 단계로 나누어 생각하는 법을 또 명심!999999까지가 아닌 1000까지만 해서 생각해보고 넓히고 하면 됌!CODE#include #include #include using namespace s..
프로그래밍(Programming)을 배운다는 것은 컴퓨팅 사고력(Computing thinking)이라는 사고 체계를 배우는 것 Wing, Jeanette M(2006) 프로그래밍컴퓨터 프로그램을 이용하여 문제를 해결하는 것컴퓨터에게 일을 시킬 수 있는 방법론문제를 분석하고 해답을 도출해 가는 과정에서 컴퓨팅 사고력을 사용하는 것컴퓨팅 사고력은 이렇듯 우리를 둘러싼 현상을 주의 깊게 분석하여 컴퓨터와 협업을 해서 풀 만한 문제와 그렇지 않은 문제를 가려내는 작업부터 시작한다.분해(Decomposition)패턴인식(Pattern Recognition)/ 데이터 표현(Data Representation)일반화(Generalization) / 추상화(Abstraction)알고리즘(Algorithm)(ex) 퀴..
for this particular purpose라는 뜻의 라틴어 특정 상황에서만 정답이 되고 일반화될 수 없는 해답을 말한다.일반화할 수 없고 재사용이 거의 불가능하다!예시 문제https://machineboy0.tistory.com/223 1813: 논리학 교수 - Ad Hochttps://www.acmicpc.net/problem/1813machineboy0.tistory.com
https://www.acmicpc.net/problem/1813문제요약N개의 말 중에 참인 말의 개수를 구하여라. 난이도Silver 5풀이 포인트Ad-Hoc의 규칙을 찾아내는 것!REVIEW경우의 수를 다 따져야 한다고 생각하니 머리가 아팠고, 무언가 예외없는 대단한 규칙을 발견해야만 할 것 같아 부담스러운 문제였는데AdHoc이라는 알고리즘이 있구나!를 새로이 알게 되었다.CODE#include using namespace std;int n, s;int a[51];bool hasT = false;int main(){ cin >> n; for (int i = 0; i > s; a[s]++; } for (int i = 51; i >= 0; i--) { i..