99클럽 코테 스터디 9일차 TIL - 다단계 칫솔 판매(프로그래머스 #77486)
·
99클럽 코테 스터디
❇️오늘의 학습 키워드 : 다단계 칫솔 판매(프로그래머스 #77486)문제 설명민호는 다단계 조직을 이용하여 칫솔을 판매하고 있습니다. 판매원이 칫솔을 판매하면 그 이익이 피라미드 조직을 타고 조금씩 분배되는 형태의 판매망입니다. 어느정도 판매가 이루어진 후, 조직을 운영하던 민호는 조직 내 누가 얼마만큼의 이득을 가져갔는지가 궁금해졌습니다. 예를 들어, 민호가 운영하고 있는 다단계 칫솔 판매 조직이 아래 그림과 같다고 합시다.민호는 center이며, 파란색 네모는 여덟 명의 판매원을 표시한 것입니다. 각각은 자신을 조직에 참여시킨 추천인에 연결되어 피라미드 식의 구조를 이루고 있습니다. 조직의 이익 분배 규칙은 간단합니다. 모든 판매원은 칫솔의 판매에 의하여 발생하는 이익에서 10% 를 계산하여 자신을..
99클럽 코테 스터디 8일차 TIL - 녹색 옷 입은 애가 젤다지?(백준 #4485)
·
99클럽 코테 스터디
❇️오늘의 학습 키워드 : 녹색 옷 입은 애가 젤다지?(백준 #4485) 문제젤다의 전설 게임에서 화폐의 단위는 루피(rupee)다. 그런데 간혹 '도둑루피'라 불리는 검정색 루피도 존재하는데, 이걸 획득하면 오히려 소지한 루피가 감소하게 된다!젤다의 전설 시리즈의 주인공, 링크는 지금 도둑루피만 가득한 N x N 크기의 동굴의 제일 왼쪽 위에 있다. [0][0]번 칸이기도 하다. 왜 이런 곳에 들어왔냐고 묻는다면 밖에서 사람들이 자꾸 "젤다의 전설에 나오는 녹색 애가 젤다지?"라고 물어봤기 때문이다. 링크가 녹색 옷을 입은 주인공이고 젤다는 그냥 잡혀있는 공주인데, 게임 타이틀에 젤다가 나와있다고 자꾸 사람들이 이렇게 착각하니까 정신병에 걸릴 위기에 놓인 것이다.하여튼 젤다...아니 링크는 이 동굴의 ..
백준 4485. 녹색 옷 입은 애가 젤다지?
·
백준
https://www.acmicpc.net/problem/44851. 큐 풀이from collections import dequeimport sysinput = sys.stdin.readlinecnt = 0while True: n = int(input()) if n == 0: break cnt += 1 arr = [list(map(int,input().split())) for _ in range(n)] dp = [[float('inf') for _ in range(n)] for _ in range(n)] dp[0][0] = arr[0][0] # 시작점 설정 꼭 해주기!! q = deque([[0,0]]) while q: i, j = q...
프로그래머스 84512. 모음사전
·
프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/84512 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krCHARS = 'AEIOU'def dfs(states, words): if len(states) == 5: return for c in CHARS: states.append(c) words.append(''.join(states)) dfs(states, words) states.pop()def solution(word): states..
프로그래머스 43236. 징검다리
·
프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/43236?language=python3 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krdef solution(distance, rocks, n): rocks.sort() # 바위 위치를 오름차순 정렬 rocks.append(distance) # 도착점을 마지막 위치에 추가 left, right = 0, distance # 거리의 최소, 최대값 초기화 answer = 0 while left n: # 너무 많은 바위를 제거해야 하는 경우 ri..
백준 1865. 웜홀
·
백준
https://www.acmicpc.net/problem/1865import sysinput = sys.stdin.readlineINF = int(1e9)def bf(start): # 벨만-포드 알고리즘 dist[start] = 0 # 시작 노드의 거리는 0 for i in range(1, n+1): # 각 노드의 최단 경로를 최대 (노드 개수 - 1)번까지 반복해서 계산 for s in range(1, n+1): # 모든 간선들을 검사해서 최소 거리로 갱신 for next, time in arr[s]: if dist[next] > dist[s] + time: dist[next] = dist[s] + ..