Algorithm/etc. 4

하..심한욕.. (백준 5430 AC C++)

큐 마지막 문제 빨리 풀고 영어공부하려고 했다 문제 읽어보면 되게 쉬운데 왜 정답 비율이 20%지?? 하며 시작 R과 D라는 함수가 있는데, R은 큐를 뒤집는거고 D는 pop_front() 후~ 뒤집는거 쩜 번거롭네^^ 하며 시키는 대로 열심히 뒤집고 삭제함 ㅎㅎ 짱나서 강아지 털 깎고 와서 다시 시작 뒤집으면 시간이 오래 걸려서 안되고, 뒤집은척 해야 한다는 사실을 알게 됐다 bool 변수 이용해서 뒤집은 상태인지 뒤집지 않은 상태인지 체크했다 뒤집은 상태면 pop_back() + 출력할 때도 뒤에서부터 출력해주면 됨 ㅎㅎ AccessEmptyContainer..? 저는 빈 곳에 access 한 적이 없는데요..? 라 생각했지만 출력할 때 큐가 비어있어도 큐를 출력하도록 했었다 비어있는 상태에서 삭제하..

Algorithm/etc. 2021.01.24

호제 (백준 2609 최대공약수와 최소공배수, 1934 최소공배수 C++)

백준 2609 최대공약수와 최소공배수를 풀었다 아 뭐야 완전 쉽네~하고 그냥 뒤로 갈라는데 갑자기 싸했다 나는.. 이걸 뭔가 비효율적으로 풀 것만 같은 느낌? 그래서 그냥 바로 솔루션을 찾아봤다 (풀라면 풀 문제니까) 유클리드 호제법이란걸 500만년 만에 들었다 그래.. 이런게 었었지.. 유클리드 호제법 n, m 두 자연수가 주어졌을 때 gcd(n, m) = gcd(m, n% m)이다 (gcd = 최대공약수) 따라서 n%m이 0이 될 때까지 반복하면 최대공약수를 찾을 수 있다 최소공배수는 n*m/gcd(n, m)이다

Algorithm/etc. 2021.01.17

최장 공통 부분 수열이요? (백준 9251 LCS C++)

LCS(Longest Common Subsequence, 최장 공통 부분 수열) : 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것 이름부터 기분이 상한다 최장 공통 부분 수열.. 그걸 왜?라는 느낌을 지울 수 없다 하지만 언젠가 유용하게 쓸 테니 공부시키겠지 라는 마음으로 시작해본다 ACAYKP와 CAPCAK가 입력됐을 때 4를 출력한다 컴퓨터가 아닌 내가 수열을 찾을 땐 "ACA... 어 여기도 ACA.. Y 없고.. K.. 어 저기도 K" 뭐 이렇게 찾는다 지친뇌를 데리고 코딩하려니 판단력이 흐려졌는지 코드를 그 생각 그대로 짰었다 당연히 안된다 인터넷에 검색해봤다.. LCS 알고리즘.. 다들 무슨 표를 가지고 설명한다 역시 쉽게 갈 순 없다.. 이 배열을 이용하여 가장 긴 ..

Algorithm/etc. 2021.01.14

바보가 규칙을 찾는 과정 (백준 2565 전깃줄 C++)

백준 2565 전깃줄 문제를 풀었다 A 전봇대와 B 전봇대에 연결된 전깃줄이 서로 교차되지 않도록 전깃줄을 제거할 때, 제거해야 하는 전깃줄의 최솟값을 구하는 문제다 ~ 생각의 흐름 ~ 1. A의 1, 3에 연결된 전깃줄이 남들과 죄다 교차되니 제거.. 그리고 2랑 4 중에 하나 제거.. 2. 아 이딴 식으로 하면 안되는데 3. 내가 지금 LIS를 풀고 있으니까 증가하는 수열..? 4. B가 1일 때 4, 2일 때 2, 4일 때 6 ··· 5. 흠... 백준 문제에서 A 전봇대의 1, 3, 4 지우라고 했으니까 지우면 6. 어.. 어.. 7. i번째 전깃줄이 i-j, i+j번째 전깃줄보다 위로가 거나 아래로 가면 제거되는구먼 8. 이걸 뭐 어떻게 하지.. 9. 아 LIS였지 그럼 만약에 3번, 9번이 안..

Algorithm/etc. 2021.01.12