우주에서 글을 적어본다
99클럽 코테 스터디 27일차 TIL + 시뮬레이션 본문
[오늘의 학습 키워드 및 문제]
- 프로그래머스의 "할인 행사" 문제를 풀었다.
- 오늘도 시뮬레이션 문제이다. 코테에 많이 나오는 유형이니 많이 푸는 게 좋겠다.
- 두 가지 방식이 떠올라서 두 번 풀어봤다.
[나의 코드]
def solution(want, number, discount):
answer = 0
check_list = []
for i in range(len(want)):
for j in range(number[i]):
check_list.append(want[i])
check_list.sort()
for i in range(len(discount) - 9):
if sorted(discount[i:i + 10]) == check_list:
answer += 1
return answer
첫 번째 방식은 정렬을 이용했다.
discount 배열의 길이가 최대 100,000이므로 O(n)까지는 괜찮을 거라 생각했다.
check_list 라는 배열을 하나 만들어서 사야 할 것들을 다 넣어놓고 정렬을 해준다.
그다음 discount 배열을 열 개씩 끊어서 정렬하고 check_list와 일치하는지 확인해 주면 끝이다.
def solution(want, number, discount):
answer = 0
for i in range(len(discount) - 9):
temp = discount[i:i + 10]
count = 0
for j in range(len(want)):
if temp.count(want[j]) == number[j]:
count += temp.count(want[j])
if count == 10:
answer += 1
return answer
이 풀이는 따로 배열을 만들지 않고, temp에 들어있는 각 원소가 필요한 만큼 있는지 세주면 된다.
참고로 첫 번째가 더 빨랐던 것 같다. (가물가물)
[오늘의 회고]
- 오늘은 쉬웠다.
- 더 어려운 문제를 주시오!
- 요즘 날씨가 더워서 그런지 채소 가격이 말이 안 되던데, 빨리 안정되었으면 한다... 끝!
'항해99 TIL' 카테고리의 다른 글
99클럽 코테 스터디 29일차 TIL + 이분 탐색 (0) | 2024.08.19 |
---|---|
99클럽 코테 스터디 28일차 TIL + 스택/큐 (0) | 2024.08.18 |
99클럽 코테 스터디 26일차 TIL + 시뮬레이션 (0) | 2024.08.16 |
99클럽 코테 스터디 25일차 TIL + 그래프 (0) | 2024.08.15 |
99클럽 코테 스터디 24일차 TIL + 그래프 (0) | 2024.08.14 |