문제 풀이262 [Python] 소프티어 : 택배 마스터 광우 https://softeer.ai/practice/info.do?idx=1&eid=581 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 💡 문제 풀이 기본적인 그리디? 문제이다. 사실 백트래킹으로 풀어야 할 것 같지만 파이썬의 강력한 라이브러리인 itertools를 사용해서 순열을 구현한다면 쉽게 해결할 수 있다. ✔️ 느낀 점 그렇게 어렵지 않았지만 익숙해지는 시간이 필요한 것 같다. 문법에 아직도 많이 적응을 못한 것 같다. 💻 코드 from itertools import permutations import sys input = sys.stdin.readline answer = 99999 n, m, k = map(int, input().split()) rails .. 2023. 2. 9. [Python] 소프티어 : [21년 재직자 대회 예선] 좌석 관리 https://softeer.ai/practice/info.do?idx=1&eid=625 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 💡 문제 풀이 기본적인 구현 문제이다. 이 문제의 핵심은 필요한 좌석을 리턴하는 것이 가장 중요하다. 앉을 수 있는 자리(0)를 기준으로 현재 사원이 앉아있는 자리(2)와의 거리를 계산해서 전체 중에서 가장 안전도가 높은 좌석을 선택해야 한다. ✔️ 느낀 점 생각보다 훨씬 오래 걸린 문제이다. 메서드를 나눠서 작성해서 단계적으로는 잘 접근했지만 유효한 좌석을 찾아 리턴하는 메서드를 구현하는데 오래 걸렸다. 💻 코드 import sys input = sys.stdin.readline moves = [(1,0), (0,1), (-1,0).. 2023. 2. 9. [Python] 백준 1446번 : 지름길 https://www.acmicpc.net/problem/1446 1446번: 지름길 첫째 줄에 지름길의 개수 N과 고속도로의 길이 D가 주어진다. N은 12 이하인 양의 정수이고, D는 10,000보다 작거나 같은 자연수이다. 다음 N개의 줄에 지름길의 시작 위치, 도착 위치, 지름길의 길이 www.acmicpc.net 💡 문제 풀이 다익스트라 문제이다. 그리디로도 풀 수 있을 것 같다. 다익스트라 알고리즘을 구현할 줄 알고, 알고리즘을 적용할 노드를 어떻게 설정할지 고민해야 한다. 일반적인 문제와 다르게 특정 노드가 주어지지 않아 고속도로의 길이만큼 노드가 주어졌다고 생각해야 한다. ✔️ 느낀 점 오랜만에 다익스트라 문제를 풀어보기 위해서 쉬운 문제로 갔는데 생각보다 쉽게 접근이 되지 않았다. 파이썬.. 2023. 1. 31. [Python] 프로그래머스 : 게임 맵 최단거리 https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 문제 풀이 가벼운 BFS 문제이다. 최단거리를 따져야 하므로 생각할 것이 많다. 나는 이동할 수 있는 위치에 이동했을 때 최솟값을 넣어주는 방식으로 구현했다. 그리고 상대의 위치는 항상 끝에 있으므로 따로 계산안하고 넘겨주었다. ✔️ 느낀 점 오랜만에 시작한 알고리즘이라서 파이썬 문법에 익숙하지 못하다는게 느껴졌다. 문법에 대한 기억을 되살리는 것이 좋아보이고 새로운 것을 공부하기보단 공부한 것.. 2023. 1. 29. [Python] 프로그래머스 : 호텔 방 배정 https://school.programmers.co.kr/learn/courses/30/lessons/64063 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 문제 풀이 ✔️ 느낀 점 💻 코드 import sys sys.setrecursionlimit(10000000) def find(x, rooms): if x not in rooms: rooms[x] = x+1 return x rooms[x] = find(rooms[x], rooms) return rooms[x] def solution(k, room_number): ans = [] rooms = .. 2022. 10. 19. [Python] 구름 : [현대모비스] Dead or Arrive https://level.goorm.io/exam/152114/%ED%98%84%EB%8C%80%EB%AA%A8%EB%B9%84%EC%8A%A4-%EC%98%88%EC%84%A0-dead-or-arrive/quiz/1 구름LEVEL 코딩테스트에서 가장 높은 비중을 차지하는 알고리즘 문제를 제작하고 풀이할 수 있는 온라인 저지 서비스입니다. 기업에서 선호하는 C, C++, 파이썬(Python), 자바(Java), 자바스크립트(Javascript) 이 level.goorm.io 💡 문제 풀이 우선순위 큐를 이용해서 해결했다. 딕셔너리 자료형이 key 값을 찾을 때 O(1)의 시간 복잡도를 가져서서 딕셔너리를 사용했다. 또한 최대한 시간복잡도를 줄이기 위해서 heapq를 사용했고 최대 힙으로 구현해서 찾아줬다.. 2022. 10. 13. 이전 1 ··· 3 4 5 6 7 8 9 ··· 44 다음