목록python/알고리즘 문제풀이 (23)
rueki
https://www.acmicpc.net/problem/1051 1051번: 숫자 정사각형 N×M크기의 직사각형이 있다. 각 칸에는 한 자리 숫자가 적혀 있다. 이 직사각형에서 꼭짓점에 쓰여 있는 수가 모두 같은 가장 큰 정사각형을 찾는 프로그램을 작성하시오. 이때, 정사각형은 행 www.acmicpc.net - 정사각형 최대 변은 가로, 세로 중 적은 길이가 최대값을 가지게 됨 - 변이 제일 짧은 경우부터 차례대로 정사각형 각 모서리 값을 비교 n, m = map(int, input().split()) arr = [] for i in range(n): arr.append(list(input())) max_sq = min(n, m) ans = 0 for i in range(n): for j in ran..
https://www.acmicpc.net/problem/1758 1758번: 알바생 강호 첫째 줄에 스타박스 앞에 서 있는 사람의 수 N이 주어진다. N은 100,000보다 작거나 같은 자연수이다. 둘째 줄부터 총 N개의 줄에 각 사람이 주려고 하는 팁이 주어진다. 팁은 100,000보다 작거나 같 www.acmicpc.net 1. 최대로 돈 많이 갖고 있는 사람이 제일 먼저 받으면 팁 제일 많이 받을 수 있음 2. 내림차순 정렬 후 총 합 계산 n = int(input()) tip = [int(input()) for _ in range(n)] tip.sort(reverse=True) result = 0 for idx, t in enumerate(tip): ri = idx + 1 real_tip = t..
- 구현, 시뮬레이션 https://www.acmicpc.net/problem/1331 1331번: 나이트 투어 나이트 투어는 체스판에서 나이트가 모든 칸을 정확히 한 번씩 방문하며, 마지막으로 방문하는 칸에서 시작점으로 돌아올 수 있는 경로이다. 다음 그림은 나이트 투어의 한 예이다. 영식이는 6× www.acmicpc.net - 나이트 이동 : [2, 1] 혹은 [1, 2]씩만 이동(좌표 음수, 양수 상관 없이) -> 1. 현재 좌표와 이전 좌표간의 거리가 결국 다 일정함 (2d distance 개념 사용) sqrt((x2-x1)^2 + (y2-y1)^2) -> 2. 마지막 좌표에서 시작 좌표로 돌아가야 끝나기 때문에 마지막에 1번의 개념 한번 더 사용해서 확인 #입력, 빈 체스판 생성 chess_a..

요약하면 제일 싼 가격에서 사서 제일 비쌀 지점에 파는 문제이다. Ex1을 보면 output이 5인데 제일 쌀 때인 1일 때 사서 6일 때 팔아서 최대의 이익을 남기게 된다. Ex2에서는 1일때 사면, 그 뒤의 시점이 없어서 출력이 불가능하다. 풀이는 간단하다. 최소값을 임의로 잡고 하나씩 값을 비교해서 return 받는 방식으로 생각하면 될 것 같다. class Solution(object): def maxProfit(self, number): min_num = sys.maxsize profit = 0 for num in number: min_num = min(num, min_num) profit = max(profit, num-min_num) return profit