본문 바로가기

개발자취업32

99클럽 코테 스터디 20일차 TIL + 탐욕법(Greedy) 오늘의 문제 - 탐욕법(Greedy)프로그래머스 - 큰 수 만들기https://school.programmers.co.kr/learn/courses/30/lessons/42883내 풀이 및 접근 방식스택 사용 풀이def solution(number, k): answer = [] # Stack for num in number: while k > 0 and answer and answer[-1]  풀이반복문으로 문자열 number의 각 숫자를 차례로 확인하면서 스택(answer)에 숫자를 추가한다. 이때 현재 숫자가 스택의 마지막 숫자보다 크면, 그 스택의 마지막 숫자를 제거한다. 이렇게 하면 큰 숫자가 더 높은 자리에 오도록 조정할 수 있다.숫자를 제거할 때마다 k를 1씩 감.. 2024. 8. 11.
99클럽 코테 스터디 19일차 TIL + 탐욕법(Greedy) 오늘의 문제 - 탐욕법(Greedy)프로그래머스 - 구명보트https://school.programmers.co.kr/learn/courses/30/lessons/42885탐욕법(Greedy)최적의 해를 구하는 데에 사용되는 근사적인 방법, 여러 경우 중 하나를 결정해야 할 때마다 최적이라고 생각되는 것을 선택해 나가는 방식탐욕 알고리즘 적용 가능한 문제들은 지역적 최적이 전역적 최적인 문제들이다. 그리디 알고리즘 예시 - 주어진 동전을 사용하여 가장 적은 개수로 거스름돈 거슬러주기500원 100원 50원 10원이 있을 경우, 가장 큰 금액의 동전을 먼저 선택하여 거스름돈에서 빼주는 방식으로 해결내 풀이 및 접근 방식먼저 구명보트를 타는 2명의 몸무게 합이 limit과 근접한 경우가 많을수록 가장 최소의.. 2024. 8. 10.
99클럽 코테 스터디 18일차 TIL + DFS/BFS 오늘의 문제 - DFS/BFS백준 2667 - 단지번호붙이기https://www.acmicpc.net/problem/2667내 풀이 및 접근 방식DFS 이용 풀이import sysn = int(sys.stdin.readline())nmap = []for _ in range(n): nmap.append(sys.stdin.readline().rstrip())v = [[False for _ in range(n)] for _ in range(n)] # 방문 체크home_num = 0 # 단지수cnt = 0 # 집 수home_cnts = [] # 집 수 리스트dx = [-1, 1, 0, 0]dy = [0, 0, -1, 1]def dfs(cx, cy): global cnt v[cx][cy] = .. 2024. 8. 9.
99클럽 코테 스터디 17일차 TIL + DFS/BFS 오늘의 문제 - DFS/BFS백준 2644 - 촌수계산https://www.acmicpc.net/problem/2644내 풀이 및 접근 방식1. BFS 이용촌수는 곧 간선의 개수와 같다. 본인과 간선으로 직접 연결되어 있는 모든 사람은 1촌이고, 이후 1촌으로부터 파생된 1촌은 2촌이 되고, 2촌에서 파생된 1촌은 3촌이 된다. 그 과정에서 가까운 노드부터 차례대로 탐색하는 BFS 방식이 떠올랐다.from collections import dequeimport sysn = int(sys.stdin.readline()) # 사람 수a, b = map(int, sys.stdin.readline().split()) m = int(sys.stdin.readline()) # 부모자식 관계 수# 부모 자식 .. 2024. 8. 8.