본문 바로가기

오블완13

[Progammers] Python 프로그래머스 모의고사(42840) https://school.programmers.co.kr/learn/courses/30/lessons/42840 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  완전 탐색문제이다. 3명의 답안 패턴을 가지고, 가장 많이 맞은 사람을 찾는 로직이다.답안의 패턴 배열을 만들고, 나머지 연산으로 값의 정답 유무를 확인하면 된다.def solution(answers): result = [] correct_length = len(answers) one_ans = [1,2,3,4,5] two_ans = [2,1,2,3,2,4,2,5] three_ans = [3,3,1,1,2,2,4,4.. 2024. 11. 16.
[BOJ] Python 백준 강의실(1347) https://www.acmicpc.net/problem/1374 끝시간보다 시작시간이 크면 같은 강의실에 들어갈 수 있다는 의미이므로, 앞시간은 빼도 된다. 즉, 모든 끝시간을 넣었을 때, heapq가 가장 길었을때가 겹치는 시간이 제일 많은 시간대이므로 강의실이 가장 많이 쓰이던 상황이니 최대값을 계속 갱신해주면 된다. #https://www.acmicpc.net/problem/1374import sysimport heapqinput = sys.stdin.readlineN = int(input())s = [list(map(int,input().split())) for _ in range(N)]s.sort(key=lambda x : x[1])hq = []cnt = 0for i in s: while.. 2024. 11. 15.
[BOJ] Python 백준 센서(2212) https://www.acmicpc.net/problem/2212  그리디 + 정렬 문제이다.주어진 직선상의 좌표에서 정렬을 진행한 후, 그 사이에 값의 차이 중 가장 큰 부분들을 배열에 저장하여, K개의 영역만 남도록K-1개 만큼 사이의 거리를 없애줌으로써 영역을 분리해준다. 그 후, 다 더하면 영역사이의 거리 최솟값을 구할 수 있다.# https://www.acmicpc.net/problem/2212# 다시 풀어볼 문제import sysinput = sys.stdin.readlineN = int(input())K = int(input())s = list(map(int,input().split()))s.sort()if K >= N: print(0) exit()dist = []for i in .. 2024. 11. 14.
[BOJ] Python 백준 밤양갱(31926) https://www.acmicpc.net/problem/31926 그리디 문제이다.import sysinput = sys.stdin.readlinecount = 8N = int(input())i = 1while True: if N - (2**i) == 0: count = count + i + 2 break elif N - (2**i)  회고,그리디는 접근 자체가 어려운거 같다.. 문제 이해도 힘들었다. 다시 복기해야겠다.. 2024. 11. 13.