분류 전체보기

알고리즘

[BOJ / Python] 지름길

🧩 문제 : 1446 지름길 💪🏻 풀이 과정 💡 문제 포인트 1️⃣ 세준이는 0에서 시작, D킬로미터까지 가야한다. 2️⃣ D가 10000보다 작거나 같기 때문에 D까지의 거리 하나하나를 노드로 보면된다. 3️⃣ 노드로 보았을때 일단 최소 거리는 for 문을 통해 1로 초기화해준다. (노드 i 에서 다음 노드 i+1까지의 거리는 1) 4️⃣ 이후 지름길의 정보가 들어오면 graph에 정보를 추가한다. 만약 지름길의 정보에서 지름길이 끝나는지점이 목표지점 D보다 크면 (뒤로 돌아갈 수 없는 고속도로이므로) 정보를 추가하지 않는다. 💻 코드 import sys input = sys.stdin.readline N, D = map(int, input().split()) arr = [[] for _ in rang..

알고리즘

[BOJ / Python] 9372 상근이의 여행

🧩 문제 : 9372 상근이의 여행 💡 문제 핵심 주어지는 비행 스케줄은 항상 연결 그래프를 이룬다 ! 💪🏻 풀이 과정 모든 국가가 연결되있기 때문에 N-1을 출력하면 된다. 💻 코드 T = int(input()) # T: 테스트 케이스의 수 for _ in range(T): N, M = map(int, input().split()) # N: 국가의 수, M: 비행기의 종류 for _ in range(M): # 입력 u, v = map(int, input().split()) print(N-1) 💭결과

뚝딱뚝딱/Python

[Python] dictionary에 list 추가하기

1️⃣ defaultdict 사용하기 from collections import defaultdict datas = [['한식', '된장찌개'], ['한식', '김치찌개'], ['중식', '짬뽕'], ['일식', '초밥'], ['기타', '다쿠아즈']] dict = defaultdict(list) # key: 카테고리, value: 음식 for category, food in datas: dict[category].append(food) print(dict) ``` {'한식': ['된장찌개', '김치찌개'], '중식': ['짬뽕'], '일식': ['초밥'], '기타': ['다쿠아즈']} 2️⃣ defaultdict 사용 X datas = [['한식', '된장찌개'], ['한식', '김치찌개'], ['중식..

알고리즘

[프로그래머스 / Python] 순위

🧩 문제 : 순위 💪🏻 풀이 과정 💡 문제 포인트 1️⃣ 중복된 값을 허용하지 않기 위해 set을 사용한다. 2️⃣ A 선수가 B 선수를 이기고, B 선수가 C 선수를 이긴다면 -> A 선수는 B, C 선수를 이길 수 있다. 3️⃣ 자신의 순위를 알기 위해선 자신을 제외한 모든 선수와의 경기 기록을 가지고 있어야한다. 💻 코드 👩🏻‍💻 깨알 파이썬 문법 > [Python] dictionary에 list 추가하기 from collections import defaultdict def solution(n, results): win = defaultdict(set) # key: 승자, value: 패자 lose = defaultdict(set) # key: 패자, value: 승자 for winner, los..

알고리즘

[BOJ / Python] 15486 퇴사 2

🧩 문제 : 15486 퇴사 2 👩🏻‍💻 문제 정리 백준이가 일을 하는 데 걸리는 시간 T와 일을 하고 나서 얻는 수익 P를 고려해 N일 동안 얻을 수 있는 최대 수익을 구하면 된다. 💪🏻 풀이 과정 다음 예시를 살펴보자. 백준이는 7일간 근무를 할 수 있으므로 1 ~ 7일까지의 수익을 계산할 배열을 만들어줘보자. 1일에 잡힌 상담을 살펴보자. 걸리는 시간은 3일이고 얻을 수 있는 수익은 10만원이다. 따라서 3일 뒤인 3일에 10만원을 벌 수 있으므로 다음과 같이 배열의 값을 입력해준다. 두번째, 2일에 잡힌 상담을 살펴보자. 5일 일해서 20만원을 벌 수 있다. 따라서 6일에 20만원을 얻을 수 있다. 세번째, 3일에 하루 일해서 10만원을 벌 수 있다. 하지만 이미 1~3일에 일을 하고 있으므로 일..

알고리즘

[BOJ / Python] 2022 사다리

🧩 문제 : 2022 사다리 👩🏻‍💻 문제 정리 x, y, c가 주어졌을 때 ?를 구하면 되는 문제 ! x : 왼쪽 빌딩 위 - 오른쪽 빌딩 아래에 놓인 사다리의 길이 y : 왼쪽 빌딩 아래 - 오른쪽 빌딩 위에 놓인 사다리의 길이 c : 두 사다리가 교차하는 지점 ? : 두 빌딩 사이의 거리 💪🏻 풀이 과정 1️⃣ w와 c의 관계를 나타내는 식 구하기 다음과 같이 x, y, c, w에 대하여 c에 대한 식을 유도해냈다. # c를 구하는 함수 def f(w): h1 = (x ** 2 - w ** 2) ** 0.5 h2 = (y ** 2 - w ** 2) ** 0.5 c = (h1 * h2) / (h1 + h2) return c 해당 식을 만족하는 w 값을 탐색하면 된다. ❓ w값 탐색 범위는? 1. x..

허지렁이
'분류 전체보기' 카테고리의 글 목록 (12 Page)