5883번: 아이폰 9S
사람 9명이 줄을 서있고 각 사람이 원하는 용량의 크기는 2, 7, 3, 7, 7, 3, 7, 5, 7 이다. 용량 3을 원하는 사람을 줄에서 빼버리면, 줄은 2, 7, 7, 7, 7, 5, 7가 되고, 7을 원하는 사람이 4명이 연속된 구간이
www.acmicpc.net
코드
n = int(input())
b = [int(input()) for _ in range(n)]
def ls(arr, r):
prev = -1
res = -1
tmp = 0
for i in range(n):
if prev == arr[i]:
tmp += 1
elif arr[i] == r:
continue
else:
prev = arr[i]
res = max(res, tmp)
tmp = 1
res = max(res, tmp)
return res
ans = -1
for r in set(b):
ans = max(ans, ls(b, r))
print(ans)
ls() 함수는 파라미터로 받은 arr 배열에서 값이 r인 원소들을 제외하고 가장 긴 연속 구간의 길이를 반환하는 함수이다.
이 함수에 파라미터로 넣을 r은 b의 집합으로 b에 존재하는 용량의 종류들을 구하여 하나씩 넣어보면 된다. 하나씩 모두 해봐서 가장 긴 연속 구간을 구하면 된다.
'문제풀이 > 완전탐색' 카테고리의 다른 글
[Python/파이썬] 백준 28075번 스파이 (0) | 2024.03.15 |
---|---|
[Python/파이썬] 백준 2503번 숫자 야구 (0) | 2024.02.09 |
[Python/파이썬] 백준 15970번 화살표 그리기 (1) | 2024.02.03 |
[Python/파이썬] 백준 1025번 제곱수 찾기 (0) | 2024.01.11 |
[Python/파이썬] 백준 16439번 치킨치킨치킨 (0) | 2023.04.27 |
5883번: 아이폰 9S
사람 9명이 줄을 서있고 각 사람이 원하는 용량의 크기는 2, 7, 3, 7, 7, 3, 7, 5, 7 이다. 용량 3을 원하는 사람을 줄에서 빼버리면, 줄은 2, 7, 7, 7, 7, 5, 7가 되고, 7을 원하는 사람이 4명이 연속된 구간이
www.acmicpc.net
코드
n = int(input()) b = [int(input()) for _ in range(n)] def ls(arr, r): prev = -1 res = -1 tmp = 0 for i in range(n): if prev == arr[i]: tmp += 1 elif arr[i] == r: continue else: prev = arr[i] res = max(res, tmp) tmp = 1 res = max(res, tmp) return res ans = -1 for r in set(b): ans = max(ans, ls(b, r)) print(ans)
ls() 함수는 파라미터로 받은 arr 배열에서 값이 r인 원소들을 제외하고 가장 긴 연속 구간의 길이를 반환하는 함수이다.
이 함수에 파라미터로 넣을 r은 b의 집합으로 b에 존재하는 용량의 종류들을 구하여 하나씩 넣어보면 된다. 하나씩 모두 해봐서 가장 긴 연속 구간을 구하면 된다.
'문제풀이 > 완전탐색' 카테고리의 다른 글
[Python/파이썬] 백준 28075번 스파이 (0) | 2024.03.15 |
---|---|
[Python/파이썬] 백준 2503번 숫자 야구 (0) | 2024.02.09 |
[Python/파이썬] 백준 15970번 화살표 그리기 (1) | 2024.02.03 |
[Python/파이썬] 백준 1025번 제곱수 찾기 (0) | 2024.01.11 |
[Python/파이썬] 백준 16439번 치킨치킨치킨 (0) | 2023.04.27 |