2024/11/02 4

[Python] 신고 결과 받기

✏️ 문제 문제 파악매치하기 힘들 때는 손으로 적어가면서 정리하는 게 훨씬 잘된다! id 딕셔너리에는 { 유저 ID : [유저가 신고한 ID] } 를 주었고 stop 딕셔너리에는 { 유저 ID : 신고당한 횟수 } 를 주어서 신고당한 횟수가 k 이상이면 id 딕셔너리와 매치해서 인덱스 값을 결과 배열에 추가했다.  코드def solution(id_list, report, k): answer = [0] * len(id_list) id = {} stop = {} for i in id_list: id[i] = [] stop[i] = 0 for r in report: s, e = r.split(' ') ..

[Python] 1번 / 동영상 재생기

✏️ 문제 문제 파악조건이 너~~~~~무 많았다........... 그래서 반례를 잘 생각해봐야 하는 문제 내가 정리한 조건은 다음과 같다.오프닝 시작 위치 명령 처리 후 시작 위치 대해초가 59초 이상이면 분 += 1, 초 %= 60초가 0초 이하이면 분 -= 1, 초 += 60분과 초가 00:00 이하이면 분 = 0, 초 = 0비디오 시간보다 크면 분 = 비디오 시작 분, 초 = 비디오 시작 초오프닝 시작 위치  시작 위치 = 오프닝 끝나는 위치그리고 난 분과 초를 처리하는 과정에서 2차원 배열 total에 대해 total[1] = total[0] 이런식으로 값을 주고 total[0]에 대한 값을 건들인 적이 없는데 나중에 출력해보니 total[1]을 바꿀때마다 total[0] 값이 변했었다.아마 복..

[Python] 개인정보 수집 유효기간

✏️ 문제 문제 파악문제 자체가 연도, 월, 일을 가지고 말하는 것이기 때문에 12월이 넘었는지, 28일이 넘었는지 처리를 잘해주어야 한다. ~에 해당하면 ~를 매치해주어야할 때 딕셔너리만큼 편한 것이 없어서 약관 종류와 유효기간을 다룰 때 딕셔너리를 활용해서 풀었다. 이 문제를 풀었다면 더 확장된 문제인 1번 동영상 재생기 문제를 풀어보면 좋을 것 같다! 코드def solution(today, terms, privacies): answer = [] term_dict = {} cur_year, cur_month, cur_day = map(int, today.split('.')) for term in terms: key, value = term.split() ..

[Python] 10번 / 공원

✏️ 문제 문제 파악돗자리를 내림차순으로 제공하지 않기 때문에 내림차순을 한 후 풀어야한다! (아니면 틀림)몇중의 for 반복문을 작성해서 풀었다.. 이것밖에 딱히 생각나는 풀 코드가 없었다..  코드def solution(mats, park): mats.sort(reverse=True) h, w = len(park), len(park[0]) for mat_size in mats: for i in range(h - mat_size + 1): for j in range(w - mat_size + 1): can_place = True for k in range(mat_size): ..