백준
3강 배열/ 백준 1475번 / 방 번호
정호나
2024. 9. 30. 11:39
https://www.youtube.com/watch?v=mBeyFsHqzHg&list=PLtqbFd2VIQv4O6D6l9HcD732hdrnYb6CY&index=4
배열의 성질
1. O(1)에 k번째 원소를 확인/변경 가능
2. 추가적으로 소모되는 메모리의 양(overhead)가 거의 없음
3. cashe hit rate가 높음
4. 메모리 상에 연속한 구간을 잡아야 해서 할당에 제약 걸림
기능과 구현
1. 임의의 위치에 있는 원소를 확인/변경 = O(1)
2. 원소를 끝에 추가 = O(1)
3. 마지막 원소를 제거 = O(1)
4. 임의의 위치에 원소를 추가/임의 위의 위치의 원소 제거 = O(n)
문제
https://www.acmicpc.net/problem/1475
코드
# 방번호를 문자열로 취급
n = input()
# 0~9까지0으로 초기화된 리스트 선언
set = [0] * 10
# 방번호 문자열 개수만큼 for문 반복
for i in range(len(n)):
# 방번호 각 문자열의 정수형변환
num = int(n[i])
# 6 혹은 9 일때 set리스트 숫자가 작은 곳에 1증가
if num == 6 or num == 9:
if set[6] <= set[9]:
set[6] += 1
else:
set[9] += 1
#set리스트에서 방번호숫자에 1증가
else:
set[num] += 1
#set 리스트중 가장 큰 수 출력
print(max(set))
참고
백준 알고리즘 1475: 방 번호(Python)
www.acmicpc.net/problem/1475 1475번: 방 번호 첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수 또는 0이다. www.acmicpc.net 문제 해결을 위한 과정 이 문제의 키 포인트는 9와 6
bgspro.tistory.com