본문 바로가기

Algorithms and Languages/알고리즘 파이썬 문제풀이

(36)
[Python/백준] 1931. 회의실 배정 https://www.acmicpc.net/problem/1931입력 : 회의의 수 N과 회의의 시작시간, 끝나는 시간출력 : 사용할 수 있는 회의의 최대 개수직관 및 접근회의실 사용 표를 만들거임. 각 회의 I에 대해 시작시간과 끝나는 시간이 주어져 있음. 회의가 겹치지 않게 하면서 회의실을 사용할 수 있는 회의의 최대 개수를 찾아보자. 시작 시간과 끝나는 시간 겹칠 수 있다.=> 이거 GREEDY에서 배운 그 스케쥴링 문제=> GREEDY로 풀기 전에, 우선 정렬이 필요함. 공부내용풀이1차 풀이(실패)import sysinput = sys.stdin.readlineN = int(input()) # 11print(N)# I_list = [tuple(map(int, input().split())) for..
[Python/프로그래머스] 42746. 가장 큰 수 https://school.programmers.co.kr/learn/courses/30/lessons/42746입력 : 주어진 정수를 담고 있는 리스트입력에는 0도 포함되어 있을 수 있음.출력 : 해당 정수들의 순서를 재배치하여 만들 수 있는 가장 큰 수를 나타내는 문자열직관 및 접근 공부내용풀이1차 풀이(실패)# 1차 풀이(테케 1 통과, 테케 2 실패)import mathdef solution(numbers): first_digit_dict = {} for num in numbers: # (key, value) 2차 풀이(실패)# 2차 풀이(테케 1 성공, 테케 2 실패)import mathdef solution(numbers): for num in numbers: ..
[Python/DailyAlgo] 70. 이차원 배열의 회전 문제 접근 및 공부 내용, 풀이는 모두 하단 코드에 "주석"으로 포함되어 있으니 참고해주세요.문제 유형 보기 더보기이차원리스트https://dailyalgo.kr/ko/problems/70 입력 : N x M 자연수로 이루어진 행렬 numbers그리고 회전할 각도를 나타내는 정수 rotate (= 90 or 180 or 270)출력 : 회전을 수행한 후의 행렬1차 풀이(성공)def solution(numbers, rotate): N = len(numbers) M = len(numbers[0]) # N x M matrix numbers ''' 3 x 2 a11 a12 a21 a22 a31 a32 => 2 x 3 a31 a21 a11 a32 a22 a12..
[Python/DailyAlgo] 69. 이차원 배열에서 특정 구간 행순회 문제 접근 및 공부 내용, 풀이는 모두 하단 코드에 "주석"으로 포함되어 있으니 참고해주세요.문제 유형 보기더보기 이차원리스트https://dailyalgo.kr/ko/problems/69 입력 : N x M 자연수로 이루어진 행렬 numbers그리고 행순회할 구간의 시작 및 끝 인덱스를 나타내는 리스트 start, end출력 : 행순회한 모든 원소들의 합테스트케이스 번호 numbers start end return 1 [[1,2,3],[4,5,6],[7,8,9]] [1,1] [2,0] 18 2 [[10,20],[30,40]] [0,0] [1,1] 100 3 [[5]] [0,0] [0,0] 51차 풀이(성공) - C스러운 풀이# 1차 풀이(성공)def solution(number..
[Python/백준] 2738. 행렬 덧셈 문제 접근 및 공부 내용, 풀이는 모두 하단 코드에 "주석"으로 포함되어 있으니 참고해주세요.문제 유형 보기더보기더보기이차원 리스트https://www.acmicpc.net/problem/2738 입력 : 두 행렬 A, B의 크기 NxM출력 : 두 행렬을 원소합한 결과# 입력3 31 1 12 2 20 1 03 3 34 4 45 5 100# 출력4 4 46 6 65 6 100 직관 및 접근matrix를 위 출력처럼 출력하려면, 언패킹을 사용하는 게 가장 파이써닉하다.matrix = [ [4, 4, 4], [6, 6, 6], [5, 6, 100],]# 언패킹을 활용하여 출력for line in matrix: print(*line)'''4 4 46 6 65 6 100'''풀이 1 - 두 행렬을 원소합한 ..
[Python/DailyAlgo] 79. 배열 정렬 문제 접근 및 공부 내용, 풀이는 모두 하단 코드에 "주석"으로 포함되어 있으니 참고해주세요.문제 유형 보기더보기정렬https://dailyalgo.kr/ko/problems/79 쉬운 문제지만, 람다식에 입력이 들어가는 인자를 어떤 식으로 사용해야 하는지에 대해 놓치기 쉬운 부분을 잘 찝어주고 있어서 가져왔다. 입력 : 길이가 2인 정수 리스트를 요소로 가지는 2차원 리스트 numbers 출력 : 첫 번째 값으로 오름차순, 두 번째 값의 절댓값으로 오름차순 정렬한 후,안정 정렬로 마무리하여 정렬이 완료된 2차원 리스트테스트케이스 번호 numbers return1 [[3,4],[2,-5],[3,-1],[1,7]] [[1,7],[2,-5],[3,-1],[3,4]]2 [[-1,2],[-1,-3],[0,5],..
[Python/프로그래머스] 121683. 외톨이 알파벳 문제 접근 및 공부 내용, 풀이는 모두 하단 코드에 "주석"으로 포함되어 있으니 참고해주세요.문제 유형 보기더보기더보기해시https://school.programmers.co.kr/learn/courses/30/lessons/121683  입력 : 문자열 input_string출력 : 외톨이 알파벳 사전 순 나열한 문자열input_string result"edeaaabbccd" "de""eeddee" "e""string" "N""zbzbz" "bz" 이 문제는 초기 접근에서 많이 어려움을 겪어, 강사님 손글씨 풀이를 듣고 힌트를 얻어 다시 풀이를 시작함.강사님's 풀이 1)외톨이, 등장 두 개의 set을 잡고, 마지막 문자라는 변수 하나를 잡음. 문자열을 탐색하며 하나씩 넣음. 이미 등장한 거 안에 있는..
[Python/프로그래머스] 42578. 의상 문제 접근 및 공부 내용, 풀이는 모두 하단 코드에 "주석"으로 포함되어 있으니 참고해주세요.문제 유형 보기더보기더보기해시https://school.programmers.co.kr/learn/courses/30/lessons/42578 입력 : 코니의 의상들이 담긴 2차원 리스트 clothes출력 : 서로 다른 옷의 조합의 수 clothes return[["yellow_hat", "headgear"], ["blue_sunglasses", "eyewear"], ["green_turban", "headgear"]] 5[["crow_mask", "face"], ["blue_sunglasses", "face"], ["smoky_makeup", "face"]] 31차 풀이# 1차 풀이from collections..