본문 바로가기
반응형

프로그래밍/알고리즘28

[BOJ][Python] 11656번 - 접미사 배열[정렬- 실버 4티어] 알고리즘 태그 [정렬] 태그 설명 정렬이란 데이터의 집합을 어떠한 기준의 대소관계를 따져 일정한 순서로 줄지어 세우는것 문제 백준 문제 - 접미사 배열 링크: 접미사 배열 문제설명 접미사 배열은 문자열 S의 모든 접미사를 사전순으로 정렬해 놓은 배열이다. baekjoon의 접미사는 baekjoon, aekjoon, ekjoon, kjoon, joon, oon, on, n 으로 총 8가지가 있고, 이를 사전순으로 정렬하면, aekjoon, baekjoon, ekjoon, joon, kjoon, n, on, oon이 된다. 문자열 S가 주어졌을 때, 모든 접미사를 사전순으로 정렬한 다음 출력하는 프로그램을 작성하시오. 예제 입력 baekjoon 예제 출력 aekjoon baekjoon ekjoon joon .. 2022. 3. 15.
[BOJ][Python] 2910번 - 빈도 정렬[정렬- 실버 3티어] 알고리즘 태그 [정렬] 태그 설명 정렬이란 데이터의 집합을 어떠한 기준의 대소관계를 따져 일정한 순서로 줄지어 세우는것 문제 백준 문제 - 빈도 정렬 링크: 빈도 정렬 문제설명 위대한 해커 창영이는 모든 암호를 깨는 방법을 발견했다. 그 방법은 빈도를 조사하는 것이다. 창영이는 말할 수 없는 방법을 이용해서 현우가 강산이에게 보내는 메시지를 획득했다. 이 메시지는 숫자 N개로 이루어진 수열이고, 숫자는 모두 C보다 작거나 같다. 창영이는 이 숫자를 자주 등장하는 빈도순대로 정렬하려고 한다. 만약, 수열의 두 수 X와 Y가 있을 때, X가 Y보다 수열에서 많이 등장하는 경우에는 X가 Y보다 앞에 있어야 한다. 만약, 등장하는 횟수가 같다면, 먼저 나온 것이 앞에 있어야 한다. 이렇게 정렬하는 방법을 빈도 .. 2022. 3. 14.
[BOJ][Python] 11004번 - K번째 수[정렬- 실버 5티어] 알고리즘 태그 [정렬] 태그 설명 정렬이란 데이터의 집합을 어떠한 기준의 대소관계를 따져 일정한 순서로 줄지어 세우는것 문제 백준 문제 - K번째 수 링크: K번째 수 문제설명 A를 오름차순 정렬했을 때, 앞에서부터 K번째 있는 수를 구하는 프로그램을 작성하시오. 따로 설명할 것도 없이 그냥 정렬을 하고 인덱스값만 맞춰서 리턴해주면된다. 어제 하루종일 한문제에서 넘어가지 못해서 기분전환겸 쉬운문제를 풀어봤다. 📃 소스코드 및 설명 N, M = list(map(int,input().split())) numbers = list(map(int, input().split())) numbers.sort() print(numbers[M-1]) 2022. 3. 14.
[BOJ][Python] 7795번 - 먹을 것인가 먹힐 것인가[정렬- 실버 3티어] 알고리즘 태그 [정렬] 태그 설명 정렬이란 데이터의 집합을 어떠한 기준의 대소관계를 따져 일정한 순서로 줄지어 세우는것 문제 백준 문제 - 먹을 것인가 먹힐 것인가 링크: 먹을 것인가 먹힐 것인가 문제설명 심해에는 두 종류의 생명체 A와 B가 존재한다. A는 B를 먹는다. A는 자기보다 크기가 작은 먹이만 먹을 수 있다. 예를 들어, A의 크기가 {8, 1, 7, 3, 1}이고, B의 크기가 {3, 6, 1}인 경우에 A가 B를 먹을 수 있는 쌍의 개수는 7가지가 있다. 8-3, 8-6, 8-1, 7-3, 7-6, 7-1, 3-1. 두 생명체 A와 B의 크기가 주어졌을 때, A의 크기가 B보다 큰 쌍이 몇 개나 있는지 구하는 프로그램을 작성하시오. 예제 입력 2 5 3 8 1 7 3 1 3 6 1 3 4.. 2022. 3. 13.
[BOJ][Python] 2108번 - 통계학[정렬- 실버 3티어] 알고리즘 태그 [정렬] 태그 설명 정렬이란 데이터의 집합을 어떠한 기준의 대소관계를 따져 일정한 순서로 줄지어 세우는것 문제 백준 문제 - 통계학 링크: 통계학 문제설명 수를 처리하는 것은 통계학에서 상당히 중요한 일이다. 통계학에서 N개의 수를 대표하는 기본 통계값에는 다음과 같은 것들이 있다. 단, N은 홀수라고 가정하자. 1. 산술평균 : N개의 수들의 합을 N으로 나눈 값 2. 중앙값 : N개의 수들을 증가하는 순서로 나열했을 경우 그 중앙에 위치하는 값 3. 최빈값 : N개의 수들 중 가장 많이 나타나는 값 4. 범위 : N개의 수들 중 최댓값과 최솟값의 차이 N개의 수가 주어졌을 때, 네 가지 기본 통계값을 구하는 프로그램을 작성하시오. 정렬문제지만 구현과 크게 다르지 않다. 여기서 주의할것은.. 2022. 3. 13.
[BOJ][Python] 11652번 - 카드 [정렬- 실버 4티어] 알고리즘 태그 [정렬] 태그 설명 정렬이란 데이터의 집합을 어떠한 기준의 대소관계를 따져 일정한 순서로 줄지어 세우는것 문제 백준 문제 - 카드 링크: 카드 문제설명 준규는 숫자 카드 N장을 가지고 있다. 숫자 카드에는 정수가 하나 적혀있는데, 적혀있는 수는 -262보다 크거나 같고, 262보다 작거나 같다. 준규가 가지고 있는 카드가 주어졌을 때, 가장 많이 가지고 있는 정수를 구하는 프로그램을 작성하시오. 만약, 가장 많이 가지고 있는 정수가 여러 가지라면, 작은 것을 출력한다. 예제 입력 6 1 2 1 2 1 2 예제 출력 1 📃 소스코드 및 설명 N = int(input()) dict_number ={} for i in range(N) : card = int(input()) if card in d.. 2022. 3. 13.
반응형