[백준 1337] 올바른 배열 - python
💡문제 분석 요약올바른 배열이란 어떤 배열 속에 있는 원소 중 5개가 연속적인 것을 말한다. (연속적인 것이란 5개의 수를 정렬했을 때, 인접한 수의 차이가 1인 것을 말한다.)예를 들어 배열 {6, 1, 9, 5, 7, 15, 8}은 올바른 배열이다. 왜냐하면 이 배열 속의 원소인 5, 6, 7, 8, 9가 연속이기 때문이다.배열이 주어지면, 이 배열이 올바른 배열이 되게 하기 위해서 추가되어야 할 원소의 개수를 출력하는 프로그램을 작성하시오.💡알고리즘 설계배열을 정렬배열을 순회하며, 해당 원소에서 +5까지 확인+5 내부에 있는 원소가 arr에 존재하지 않으면 count+=1count값과 answer값 중 작은 것을 answer에 저장하고 출력💡코드N = int(input())arr = [int(..
2025. 1. 11.
[백준 2910번] 빈도 정렬 - 파이썬
https://www.acmicpc.net/problem/2910 2910번: 빈도 정렬 첫째 줄에 메시지의 길이 N과 C가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ C ≤ 1,000,000,000) 둘째 줄에 메시지 수열이 주어진다. www.acmicpc.net 💡문제 분석 요약 입력으로 주어진 수열을 빈도가 많은 순으로 정렬한 다음 출력한다. 💡알고리즘 설계 1. 해시에 해당 숫자가 저장된 빈도를 저장한다. 2. 해시의 값을 기준으로, 빈도가 높은 순으로 정렬한다. 3, for문을 이용해 해시의 값 만큼 해당 숫자를 출력한다. 💡코드 import sys input = sys.stdin.readline N, C=map(int, input().split()) message=list(map(int, ..
2024. 4. 13.