전체 글19 [Python] 1931 : 회의실 배정 # 링크 https://www.acmicpc.net/problem/1931 # 문제 # 접근 회의 시간들을 회의가 끝나는 시간을 기준으로 정렬합니다 정렬된 회의시간들을 순회하며 이전회의가 끝나는 시간보다 다음회의의 시작시간이 늦은 경우를 확인하여 회의록에 추가합니다 시작시간과 종료시간이 같은 회의(0분동안 뭔 회의를 하는걸까)가 반례로 존재하므로 주의합니다 # 코드 N = int(input()) arr = [] for n in range(N): arr.append(tuple(map(int, input().split()))) # 속도 향상을 위한 tuple() arr.sort() # arr[x][0]을 기준으로 정렬 arr.sort(key=lambda x: x[1]) # 다시 한번 x[1]을 기준으로 정렬.. 2021. 10. 17. [Python] 1676 : 팩토리얼 0의 개수 # 링크 https://www.acmicpc.net/problem/1676 # 문제 # 접근 팩토리얼을 구하고 문자열로 바꿔줍니다 원본값에서 rstrip을 이용하여 0을 전부 지워준 값의 길이차이를 출력합니다 # 코드 N = int(input()) result = 1 for i in range(1, N+1): result *= i print(len(str(result)) - len(str(result).rstrip('0'))) # 정리 rstrip은 보통 공백제거에 많이 사용하는데, 문제를 푸는 자체로 처음 활용해 보았습니다 2021. 10. 17. [Python] 1463 : 1로 만들기 # 링크 https://www.acmicpc.net/problem/1463 # 문제 # 접근 N에서 1로가지 않고 거꾸로 1에서 N으로 갑니다 N에서 /3, /2, -1 하여 1까지 도달하는 것의 반대는 *3 *2 +1하여 1부터 N까지 도달하는 것입니다 어떻게 연산하면 N까지 갈 수 있다 이런 규칙이나 힌트는 없습니다 BFS를 통해, 한 번 연산이 진행된 값에서 또 세 갈래로 갈라지며 연산을 하고 그 값들을 중복체크하며 가지치기하면서 N을 찾는 코드를 작성하였습니다 # 코드 from collections import deque N = int(input()) if N == 1: # 입력값이 1이면 0을 곧바로 반환합니다 print(0) exit() # 1에서부터 거꾸로 탐색합니다 q = deque() q.. 2021. 10. 16. [Python] 4831. [파이썬 S/W 문제해결 기본] 1일차 - 전기버스 # 링크 https://swexpertacademy.com/main/learn/course/subjectDetail.do?courseId=AVuPDN86AAXw5UW6&subjectId=AWOVFCzaqeUDFAWg # 접근 버스는 현재 충전량으로 갈 수 있는 가장 멀리있는 충전소까지 순간이동합니다 현재 충전량으로 갈 수 있는 최대거리부터, 현재 위치까지 거꾸로 탐색하며 발견되는 첫 충전소가 갈 수 있는 가장 멀리있는 충전소입니다 만약 충전소를 발견하지 못하고 현재위치까지 되돌아오게 되면 절대 목적지에 도달할 수 없으므로 0을 출력합니다 # 코드 T = int(input()) for t in range(1, T+1): K, N, M = map(int, input().split()) charge = lis.. 2021. 10. 16. 이전 1 2 3 4 5 다음