9oormthonchallenge
-
[구름톤 챌린지] 4주차 문제 19. 대체 경로코딩 챌린지 2023. 9. 10. 16:49
이번에도 문제를 찬찬히 풀어보지는 못하고 내가 약한 그래프와 BFS관련된 문제를 찬찬히 들여다보게 되었다. 일단 입력값을 받아 그래프를 만들어주는 과정부터 필요하다. N, M, S, E = map(int, input().split()) graph = [[] for _ in range(N + 1)] for _ in range(M): u, v = map(int, input().split()) graph[u].append(v) graph[v].append(u) graph = [[] for _ in range(N + 1)]을 보면 이번에도 list comprehension 이 사용되었다. list 내에 list를 만들어줌으로써 list의 index를 각 도시번호로 사용하고, 각 도시가 어느 도시에 연결되어 있는..
-
[구름톤 챌린지] 4주차 문제18. 중첩 점코딩 챌린지 2023. 9. 10. 15:26
이번주는 구름톤 챌린지 문제를 찬찬히 들여다보지는 못했다. 그래서 좀 고민하다 해설을 보고 이해하려고 노력했다. 내 시선을 끈 것은 18일 차 중첩 점 문제였다. 내가 가장 약한 다이내믹 프로그래밍이 관련된 문제라고 설명에 나와있기 때문이었다. 원래 문제를 풀 때 세로선이나 가로선이 지나가는 칸만 리스트로 관리하려고 했다. 저번에 푼 14. 작은 노드 문제에서 전체 보드를 만들어서 보드의 칸마다 상태를 저장해 주면 저장용량이 너무 많이 필요해 효율적인 문제풀이가 아니라고 했기 때문이다. 하지만 이번 해설지에서는 각 칸마다 지나는 선이 몇 개인지 저장하기 위해 모든 칸을 생성해 주었다. 이점이 좀 의외였다. 처음에는 input을 받고 보드의 사이즈와 반직선의 갯수를 저장한 후 보드를 생성해 준다. 저번에 ..
-
[구름톤 챌린지] 3주차 문제15. 과일 구매 list comprehension과 sort-lambda카테고리 없음 2023. 9. 2. 13:28
이번 문제는 풀지 못했다. 그래서 해설을 보고 이해가 안 되는 부분을 중점적으로 보려고 한다. 해설을 보았을 때 논리적으로 이해가 안 된다기보다는 파이썬 문법을 제대로 몰라서 해설이 이해가 안 되는 것 같다. N, K = map(int, input().split()) arr = [list(map(int, input().split())) for _ in range(N)] arr.sort(key=lambda x : x[1] // x[0]) result = 0 while K and arr: P, C = arr.pop() if K >= P: result += C K -= P else: result += C // P * K K = 0 print(result) 이게 정해코드인데 이해가 안 되는 부분이 2군데 있다...