본문 바로가기

반응형

IT, Computer

(34)
Greedy Python 백준 BOJ2217 로프 코딩테스트 (10) 목차서론지난번엔 그리디 알고리즘에 대해 알아보았고 몇 문제들을 풀어보았다. 해당 포스팅이 궁금하면 여기로 가길 바란다. 이번에는 이어서 문제를 풀고자 한다. 백준에 나와있는 BOJ2217 로프에 대한 문제인데, 이 문제에 대한 링크는 여기로 가면 된다. 문제 조건문제의 조건을 적어보겠다. 1. 로프의 길이와 굵기는 다르다. 2. 때문에 들어올릴 수 있는게 다르다. 3. 여러개의 로프는 연결 할 수 있고, 연결한 만큼 더 많은 중량을 들어올리기가 가능하다. 4.K개 로프를 사용해 W 중량 물체를 올릴 때,  각각에거 W/K만큼 중량이 걸린다. 아무튼 이 조건을 활용해서 들 수 있는 최대 중량을 구하는 것이다. 모두 사용안 해도 된다가 포인트 같다.내 풀이예시를 보면 2개가 있을때 10, 15를 각각 들 수..
DFS 알고리즘 개념 파이썬 코딩테스트 (9) 목차서론BFS를 넘어 DFS에 대해서 알아보려고 한다. BFS에 대한 내용이 궁금하다면 이 포스팅으로 가길 바란다. 아마 BFS를 모른다면 이 포스팅에서 다루는 DFS를 이해하기 쉽지 않을 것이다. 둘은 뗄레야 뗄 수 없는 사이기 때문이다. DFS 내용에 앞서 DFS, BFS 두 알고리즘의 큰 차이를 말하자면, 전자는 깊이를 우선으로 하는 것이고 후자는 너비를 우선으로 하는 것이다. D는 Depth의 D요, B는 Breadth의 B이기 때문에.DFS 기본 설명우선 과정 측면에서 BFS와의 차이는 BFS는 deque(내지 queue)로, DFS는 stack으로 한다는 차이가 있다. 위에서 깊이를 우선으로 한다라고도 말했고, 자료구조의 차이를 말했지만 사실 이걸 바로 와닿는건 쉽지 않다. 앞 포스팅에서 BF..
티스토리 블로그 애드센스 수익 여정 포스팅 (4) ads.txt 문제를 해결 해보자 2 목차티스토리 블로그를 만든 이래로, 가장 신경쓰이게 만들었던 ads.txt 파일문제를 드디어 해결했다. 거짓말 안치고 이렇게 설정하고 새로고침 하니까 승인됨으로 바뀌어 있었다. 일단 이 글에 들어온 분들은 이미 스킨 편집을 통해 ads.txt 파일을 업로드 했다는 전제하에 진행하겠다. 혹시 이 과정을 진행하지 않은 사람들이 있다면 이 포스팅을 참고해서 여기까지 하는걸 추천한다.티스토리 애드센스 ads.txt 문제 해결 방법 1 일단, 본인의 url주소에 ads.txt파일이 뜨는지 확인을 해보자. 본인의 도메인.com/ads.txt를 주소창에 쳤을 때 내가 등록했던 txt파일이 나온다면 9할은 성공한 것이다. 사실 나도 이제 기다리면 되는 줄 알았다. 그런데 한달이 지나도 묵묵부답인 상태라 답답해서 구글에..
그리디 알고리즘 Greedy 파이썬 회의실 배정 BOJ1931 코딩테스트(8) 목차 서론지난번엔 그리디 알고리즘 개념과 문제를 풀어보았다. 그리고 예고했던 대로 백준 BOJ1931문제를 풀었다. 처음에는 끝나는 시간 기준으로 어떻게 지지고 볶으면 될 줄 알았으나, 안 됐다. 그냥 천천히 내 풀이로 풀어보면 맞아떨어지지 않았다. 그래서 정답을 보니 아차 싶었다. 과거의 나는 왜 그런 생각을 했을까... 내 풀이 1 - 오답내가 풀었던 풀이 과정은 다음과 같다. 오답이니 무시해도 된다. 눈물나지만 공개처형 하는 것에 의의를 뒀다. 여기서 문제였던 점은, 꼭 끝나는 시간이 같거나 다른거에 영향을 안받기 때문이다라고 하면 되려나.모든 것을 고려했어야 됐는데 끝나는시간에 한정해서 경우를 나눈것이 화근이었다고 판단한다.1. 끝나는 시간 기준으로 정렬한다.2. 끝나는 시간 같으면 -> 앞에 숫..
그리디 알고리즘 Greedy 파이썬 코딩테스트 (7) 목차  서론지난번 재귀 포스팅에 이어 이번에는 그리디 알고리즘에 대해 알아보고자 한다. 이번 포스팅은 이 강의를 참고했다. 가능하다면 이번 포스팅에서 문제도 다룰 예정이고 만약 안된다면 다음 포스팅에서 마저 문제를 다뤄보겠다. 적을 내용이 얼마 없다면 바로 문제 풀것임.그리디 알고리즘이란?  현재 최적인 답을 근시안적으로 택하는 알고리즘 = 관찰을 통해 탐색 범위를 줄이는 알고리즘이다. 일반적으로는 관찰을 통해 탐색 범위를 어떻게 줄일지(=시간 복잡도를 낮출 지) 생각하는데, 이 때 탐색범위를 줄여도 올바른 결과를 낳는다는 사실이 증명이 되어야 한다. 증명이 안된다면 베팅하는거라 단순 노가다 코딩 보다 못한 결과를 초래할 수 있다. 하지만 코딩 테스트에서 빠르게 고안하고, 올바르게 증명할 확률은 극히 드..
재귀 파이썬 문제 삼각달팽이 프로그래머스 코딩테스트 (6) 목차서론지난번 포스팅에 이어 이번에는 난이도가 있는 재귀 문제를 풀어보고자 한다. 삼각달팽이라는 문제로 프로그래머스에 있다. 문제 제목과는 다르게 예시부터 난이도가 있어보이는 생김새다. 아무튼 이번 포스팅에서는 해당 문제를 풀어보고 그 과정에 대해서 얘기하고자 한다. 설령 못풀어도 다른 사람 풀이 참고하는 한이 있어도 어떻게서든지 풀어볼 예정이다. 재귀 문제 다른 사람 풀이 분석풀이 방법을 엄청 생각해봤으나 도저히 재귀로 풀리지가 않아 다른 사람 풀이를 검색해봤다. 아니나 다를까 재귀로 푼사람은 거의 없었고, 재귀로 풀었다는 사람 보면 되게.. 복잡했다. 재귀 강의에서 for문과 재귀는 서로 왔다갔다할 수 있지만, 코드 복잡도와 돌아가면서 생기는 불필요한 메모리의 등가교환이라고 말했는데(내가 의역함ㅋㅋ...
재귀 파이썬 문제 종이자르기 프로그래머스 코딩테스트 (5) 목차서론지난번엔 BFS에 대해서 알아보았다. DFS도 알아보아야 하지만.. 다음주에 문제 풀고 DFS할 예정임. 아무튼 오늘은 재귀에 대해서 알아본 뒤, 직접 문제를 몇개 더 풀어보고자 한다. 사실 재귀보단, DP가 더 자주 출제된다. 하지만 DP를 하기 위해서는 재귀를 충분히 알아야 된다고 한다. 그래서 재귀를 몇문제 더 풀어보고 다음주에 DP로 넘어갈것임.간단한 재귀 이론영상에서 본 재귀 이론을 간단하게 언급하고자 한다. 재귀와 반복문은 서로 왔다갔다할 수 있다고 한다. 다만 재귀는 보긴 좋지만 소모하는 시간이 많으므로 애지간하면 반복문에서 해결하라고 한다. 자신을 여러번 호출하는데 이게 굉장히 비효율적이기 때문이다. 이후 DP에서 해소할 수 있는 무언가를 하는데 이건 재귀에 익숙해진 뒤 들어가는게 ..
BFS Python 문제 BOJ2178 코딩테스트 (4) 목차  서론지난 포스팅에서는 BFS를 이용한 개념과 문제를 풀어보았다. 이번 포스팅에서도 백준 BFS 문제인 BOJ2178을 풀어보겠다. 이전과 같이 처음에는 내가 어떻게 풀었는지 적을 것이고, 이후에는 답지를 참고해서 내 것과 비교할 예정이다. BOJ 2178 내가 푼 풀이과정 및 코드 문제를 보니 최단거리를 찾는 것이다. BFS를 택했다.(사실 BFS 영상에 나온거라 뇌빼고 BFS로 바로 들어가도 되지만 이렇게 접근하는 연습을 하는게 맞다고 판단함.) 최단 경로를 어떻게 접근할까 했다. BFS를 돌며 내가 지나는 칸이 1이면 -> 이전칸 +1을 하고 0이면 안지나 가는 가장 기본적인 툴을 생각했다. 그런데 1도 0도 아닌 값을 만났을 때를 고려해야됐다. 때문에 1이 아닌 칸을 만나면 -> 해당 값과 ..