전체 글(223)
-
싱가포르 여행 준비 1탄 (항공권, 숙소 가격)
열심히 여행 준비를 한게 엊그제 같은데 벌써 여행 다녀와서 후기를 쓴다 ㅜㅜ 언제나 여행의 여운은 아쉽지만 또 행복했기에 다음을 기약하게 된다. 쨌든 이번 싱가포르 여행은 나에게는 2번째이지만 엄마와 이모를 모시고 가는 여행이기도 하고, 두분은 처음이기에 짧은 기간동안 내 기억에 '이건 꼭 해봐야해!' 하는 것들은 넣어서 알차게 다녀왔던것 같다. 일단 오늘은 예약한 것들에 대한 이야기를 해봐야겠당~ 항공권 일단 엄마와 이모를 모시고 가는거다 보니 LCC 보다는 국적기가 낫지않을가 싶었다. 그리고 그 예상은 완전 적중했다... 6시간이라 국적기도 힘들었는데 LCC 였음 가다가 중간에 내렸을거라고 우스게 소리로 이야기도 했다 ㅋㅋ 쨌든 국적기라는 점, 금요일 출국 ~ 일요일 입국 이라는 점 때문에 확실히 다..
2023.04.15 -
(재) 17143번 - 낚시왕
작년에 풀고 다시 한번 풀어봤는데... 로직도 다르고 훨씬 많이 줄어들었다! 그때는 왜 지금처럼 생각 못했을까나...! # 낚시왕 오른쪽으로 한 칸 이동 # 상어중 가장 땅과 가까운 상어 잡음 (격자판에서 상어 사라짐) # 상어 이동 - 격자판의 경계를 넘는 경우 방향을 바꿔 이동 # 상어가 두마리 이상 있을수 있는데 큰 상어가 나머지 상어를 모두 잡아먹음 def move(graph, R, C): dir = [0, [-1, 0], [1, 0], [0, 1], [0, -1]] newGraph = [[0]*(C+1) for _ in range(R+1)] # 상어 이동후 그래프 for i in range(1, R+1): for j in range(1, C+1): if graph[i][j] != 0: s, d,..
2023.03.27 -
깊이/너비 우선 탐색(DFS/BFS) - 여행경로 (Lv.3) [2]
이문제 저번에도 풀었던 문제인데...이번에도 못풀었다. 너무 짜증난다... 일년이 지났는데 실력이 그대로라는 소리인거 같은 느낌 (사실...일한다고 열심히 한건 아니기에 크게 할말은 없지만... ㅠ.ㅠ 그래도 안한건 아니였다구,,,,) 쨌든 저번과 다른점이 있다면 이번에는 DFS로 접근했다는 사실이다. 그러나 재귀함수를 돌면서 결과값이 없어서 None이 나오는 문제를 반복(이 부분은 추후에 제대로 파헤쳐볼 것이다...)하다보니 해결 방법을 찾지 못하고, 결국 다른 사람의 풀이를 참고했다. from collections import defaultdict def dfs(ticketDict, N, start, result): if len(result) == N+1: return result for idx, e..
2022.10.15 -
21610 - 마법사 상어와 비바라기
레벨 5 문제로 크게 어렵지 않은 문제였다... 시간초과만 아니라면!!! 진짜 문제푸는데 걸린시간보다 시간초과 해결하는데 걸린시간이 더 긴 것 같다. 아래는 제일 처음 냈던 풀이 방식이다. # 비구름 : [N, 1], [N, 2], [N-1, 1], [N-1, 2] # 구름의 이동 M번 명령 global makeCloud N, M = map(int, input().split()) graph = [] for _ in range(N): graph.append(list(map(int, input().split()))) ds = [] for _ in range(M): ds.append(list(map(int, input().split()))) makeCloud = [[N-1, 0], [N-1, 1], [N-2,..
2022.09.27 -
두 큐 합 같게 만들기 _ Lv.2*
이번 문제는 사실 문제를 보고 아무리 생각해봐도 어떻게 간단하게 풀 수 있지?라는... 두려움?? 때문에 30분 고민해보다가 다른 사람의 풀이를 참고했다. 근데 이거 그래도 한시간 고민 했으면 풀이 방법을 고안하지 않았을까 싶은 문제였다... 풀이는 두 큐의 합이 같아지는 elementSum을 구하여 이를 기준으로 합이 큰 큐는 원소를 빼주고, 합이 작은 큐에 그 원소를 넣어주는 방식으로 반복한다. 그런데 이문제는 출제 원소에 따라 시간초과에 걸리는 부분이 있어서 while문의 횟수를 제한한다는 점, sum이 아니라 pop한 값을 더하고/빼는 방식으로 큐의 합을 구한다는 점을 통해 해결하였다. 그럼에도 불구하고! 아래의 풀이는 테케 2개에서 시간초과가 나왔다...ㅠ.ㅠ from collections im..
2022.09.10 -
크레인 인형뽑기 게임 _ Lv.1
매번 내가 푼 문제와 비교해보는데... 나보다 간결하고 쉽게 푼 사람들 보면 "통과"에 의의를 뒀던 과거의 내가 부끄러워지고, 효율성과 적절한 알고리즘을 고려하여 문제를 푸는 것이 중요하다는 생각이 든다. from collections import deque def solution(board, moves): answer = 0 pickQueue = [deque([]) for _ in range(len(board))] for i in range(len(board)): for j in range(len(board)): if board[i][j] != 0: pickQueue[j].appendleft(board[i][j]) resultQueue = deque([]) lastDoll = 0 for m in mov..
2022.09.09