프로그래머스117 무인도 여행 https://school.programmers.co.kr/learn/courses/30/lessons/154540 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 해당 문제는 dfs로 풀이하는 것이 효율적인 방법이다. 문자열은 불변한 데이터 이기 때문에 각 문자열을 리스트로 변환하여 그래프를 생성해 준다. 그래프의 현재 위치가 "X"가 아닐 경우 dfs를 호출해서 재귀적으로 각 위치의 정수를 더해주도록 하며 결과를 오름차 정렬한다. import sys sys.setrecursionlimit(10**7) def solution(maps): answ.. 2024. 3. 7. 호텔 대실 https://school.programmers.co.kr/learn/courses/30/lessons/155651 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 배열은 입실 시간을 기준으로 오름차 정렬하며 입실, 퇴실 시간은 계산하기 편하게 시간을 분 단위로 변환한다. 입실 시간이 퇴실 시간 + 청소 시간보다 크거나 같다면 해당 방을 청소한 뒤 예약 해주며 그렇지 않다면 새로운 방으로 예약해준다. 이때 해당 방의 다음 이용가능한 시간을 미리 퇴실 시간 + 청소 시간으로 갱신 해주는게 중요하다. from collections import defa.. 2024. 3. 7. 전력망을 둘로 나누기 https://school.programmers.co.kr/learn/courses/30/lessons/86971 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 해당 문제는 dfs를 활용해서 푸는 게 효율적인 풀이방법이다. 지문을 보면 트리의 루트는 1부터 시작하며 크기는 n이다. 따라서 n 만큼의 크기를 가진 딕셔너리를 선언해 주고 각각 연결된 노드를 트리 형태의 그래프로 표현해 준다. dfs를 실행하여 현재 노드의 연결되어 있는 자식 노드를 기준으로 깊이 탐색을 해준다. 그리고 재귀가 종료될 때마다 answer를 업데이트해 주는데 전체 간선의.. 2024. 3. 6. 마법의 엘리베이터 https://school.programmers.co.kr/learn/courses/30/lessons/148653 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 각 자릿수마다 큐에 저장한다. 맨 오른쪽 자릿수 즉 가장 작은 값을 우선으로 추출해서 비교한다. 추출한 값이 5 미만이라면 그 값을 그대로 answer에 더해주며 값이 5 이상일 경우 각 자릿수를 올림 해주는 게 이득이다. 다만 테스트 케이스가 5, 15 같이 주어진다면 이 경우엔 올림해줘서 계산하는 것보다 내림해줘서 계산하는 게 더 이득이므로 해당 경우의 케이스도 예외처리 해주어야 한.. 2024. 3. 4. 124 나라의 숫자 https://school.programmers.co.kr/learn/courses/30/lessons/12899 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 십진법을 124 나라의 진법으로 변환하는 문제이다. 124 단 세 가지의 숫자만을 사용하기 때문에 삼진법으로 변환할 수 있다. 다만 n은 1 이상으로 주어지기 때문에 원하는 결과를 얻기 위해선 매 반복마다 n - 1을 빼줘야 124중 원하는 인덱스에 접근이 가능해진다. def solution(n): answer = "" while n > 0: n -= 1 r = n % 3 answer =.. 2024. 3. 3. 메뉴 리뉴얼 https://school.programmers.co.kr/learn/courses/30/lessons/72411 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 손님이 주문했던 단품메뉴들의 크기가 추가하고자 하는 코스메뉴의 사이즈 보다 작지 않다면 사이즈만큼의 모든 조합의 경우를 구해준다. 이때 각 원소들은 항상 오름차 정렬이 되어있어야 하기 때문에 order 또한 오름차 정렬을 해주어서 전달한다. 코스요리 메뉴는 최소 2명 이상의 손님으로 부터 주문되었고 가장 많이 함께 주문한 조합만을 후보에 포함하기로 했으므로 조합 중 가장 큰 값을 answ.. 2024. 3. 3. 이전 1 2 3 4 5 6 ··· 20 다음