일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 백준
- 파이썬데이터분석라이브러리
- 백준 전쟁-전투
- 프로그래머스
- 등수매기기 파이썬
- 소프티어 장애물인식프로그램
- 백준 점프
- 파이썬 평범한배낭
- 백준 점프 파이썬
- 지도자동구축 파이썬
- 백준 피아노체조
- 백준 바이러스
- 백준 A->B
- 백준알파벳파이썬
- 도커 컨테이너
- CRUD
- MongoDB
- 소프티어 지도자동구축
- 금고털이 파이썬
- 백준 평범한배낭
- 백준 전쟁 파이썬
- 장애물인식프로그램 파이썬
- express
- 1987파이썬
- express mongodb
- MySQL완전삭제
- jenkins
- 백준 등수매기기
- 백준 예산
- 피아노체조 파이썬
- Today
- Total
목록Algorithms (99)
바위 뚫는중

정리에 앞서 도움 받은 글 및 이미지 출처 https://go-coding.tistory.com/4 이분의 글을 차례로 보면 전반적인 알고리즘 개념을 잡는데에 큰 도움이 된다. 트리구조, 그래프 관련 + 기타 더 딥한 알고리즘 정보 https://gmlwjd9405.github.io/2018/08/13/data-structure-graph.html 이 글도 도움이 많이 되었음! 아무리 생각해도 ,, 조금 더 기초적인 부분을 짚고 넘어가야 겠다는 생각이 들었다. 비참하지만 지금 깨달아서 다행이다. 전공수업을 들었음에도, 코테는,,여윽시 기초가 정말 중요하다고 느꼈다 🤖 ✅ 자료구조 현실세계에 존재하는 데이터를 효율적으로 저장할 수 있는 구조화 표현의 개념. 다음과 같은 구조로 이루어져 있음. 단순 구조 프..

https://www.acmicpc.net/problem/13305 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net ✅ 생각 제일 왼쪽 도시(5)에서 6리터를 넣고 주유 없이 쭉 가면 요금 30원 5*6 = 30 제일 왼쪽 도시에서 2리터를 넣고 그 다음에서 3리터를 넣고 그 다음도시에서 1리터를 넣으면 → 52 + 23 + 4*1 = 20 제일 왼쪽 도시에서 2리터의 기름을 넣고, 다음 번 도시까지 이동한 후 4리터의 기름을 넣으면 → 52 + 24 = 18 제일 왼쪽 도시에서는 무조건 기름을 ..
https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 🦾 풀이 과정 입출력 구현 N과 K의 값을 map으로 구분지어 받기. for 문을 이용하여 N개의 줄 만큼 동전 입력을 받기. (list로 저장하기) 알고리즘 구현 동전은 오름차순으로 입력이 됨 우리는 이 문제에서 최대값의 동전부터 시작해야함 → 동전 갯수가 최솟값이어야 하니까. 그렇다면 입력받은 동전 리스트를 뒤집어야함 → reve..
그리디 알고리즘 Greedy Algorithm 최적해를 구하는 데에 사용되는 근사적인 방법, 여러 경우 중 하나를 결정해야 할 때마다 구 순간에 최적이라고 생각되는 것을 선택해 나아가는 방식. = 당장 눈 앞에 보이는 최적의 선택, 간단하고 빠르지만 항상 최적의 답이 보장되지는 않음. ✅ 그리디 알고리즘 문제 해결법 선택 절차(Selection Procedure): 현재 상태에서의 최적의 해답을 선택한다. 적절성 검사(Feasibility Check): 선택된 해가 문제의 조건을 만족하는지 검사한다. 해답 검사(Solution Check): 원래의 문제가 해결되었는지 검사하고, 해결되지 않았다면 선택 절차로 돌아가 위의 과정을 반복한다. ✅ 그리디 알고리즘 적용에 필요한 조건 그리디 알고리즘은 두가지의 ..
백준 7568 덩치 https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net A와 B의 덩치를 각각 (x, y), (p, q)라고 할 때 x > p 그리고 y > q 을 만족해야 덩치가 큼. 자신의 등수 = 자신보다 덩치가 큰 사람 + 1 - 2차원 배열로 키랑 몸무게 입력받기 - 등수 1차원 배열 만들어주기 - 2차원 배열을 전부 다 비교하기! 브루트 포스! - 자신보다 덩치가 큰 사람이 있다면 카운트 해주기 - 자신의 등수 = 카운트 +..
브루트 포스: 난폭한 힘 완전 탐색 알고리즘 모든 경우의 수를 탐색하여 요구조건에 맞는 결과만 가져옴 전체 탐색을 위한 탐색 알고리즘 사용: 순차탐색, dfs, bfs 장점: 100프로의 정답률 단점: 실행시간이 많이 소요됨 브루트포스 종류 선형구조: 순차 탐색 비선형구조: BFS(너비 우선 탐색), DFS(깊이 우선 탐색) 순차 탐색 방법 문제에서 주어진 자료를 선형 구조로 구조화 구조화된 자료들을 구조에 맞는 방법으로 해를 구할 때 까지 탐색 탐색한 해를 주어진 문제의 출력 형식에 맞게 정리 추후 좀 더 추가 예정! 관련 백준 문제 풀이 예정.
앞길이 구만리인 나는, 아직 코딩테스트 준비를 제대로 못했다. (지금 상황은 백준 단계별로 풀기에서 약 50개 정도 풀이를 한 상황. 초보중에 왕초보!) 어쩌면 안했다는 말이 더 적합할지도 모른다. 사실 너무 어렵게 느껴졌다. 내가 과연 할 수 있을까? 라는 의심이 늘 먼저 앞섰다. 또한 코테의 바이블인 이코테를 한참전에 샀지만, 아직 공부하지 않은 상황이다. 너무 어려워서 어디서부터 손대야할지 모르겠다. 코딩테스트와 개발은 조금 다르다고 느꼈다. 그치만, 개발자로서 알고리즘은 꼭 필요한 것이라고 하니, 해야지 어쩌겠는가. 그렇다면 코딩테스트는 대체 어떻게 준비해야하는 것인데?? 인터넷을 뒤져봐도 다들 같은 말을 한다. 뭔가 일단 문제를 풀어봐야 감이 올 것 같아서 최근들어 백준을 조금 시작하긴 했다. ..

n이 1이면 -> 1개 방문 2-7 (6개) -> 2개 방문 8-19 (12개) -> 3개 방문 20-37(18개) -> 4개 방문 6의 배수로 벌집이 증가하고, 최소개수 방문수는 1씩 늘어남 n = int(input()) num = 1 #벌집 1개부터 시작 cnt = 1 #1씩 커짐 while n > num : num += 6 * cnt # 벌집이 6의 배수로 증가 cnt += 1 #벌집 최소개수 방문수 print(cnt) #방문수 뽑아내기. n=num인 1일 경우는 1이 나옴 코드는 간단한데 왜 어려울까

코딩테스트 공부 시작. 어디서부터 해야하는지 몰라서 백준 "단계별로 풀어보기"를 진행중이다. 코딩테스트라는 것에 정말 문외한이라,, 완전 기초부터 시작중이라는 상태를 감안하여 매일 생각하고 푸는것을 목표로 진행중이다. 코테를 처음 공부하는 입장에서 '이거아닌가?' 싶은것을 위주로 기록해보려고 한다. 처음에 잘못 생각했던 풀이 a, b, c = map(int,input().split()) n = 0 true = 1 while true: n = n+1 real_price = a + (b*n) sell_price = c * n if real_price > sell_price: continue else: break print(n+1) 손익분기점에 도달할 수 없는 상황을 생각하지 못했고, 쓸데없는 반복문을 통해 ..