백준 24

[BOJ/C++] 11652번 카드

https://www.acmicpc.net/problem/11652문제해석 첫 번째 줄에 N을 입력한다.이후 두번째 줄부터 N+1째 줄에는 숫자 카드에 적혀있는 정수를 입력한다.입력받은 정수 중 가장 많이 나온 정수를 출력한다.(단, 가장 많이 나온 정수의 수가 같은게 있다면, 더 작은 정수를 출력한다.) 코드 #include using namespace std;unordered_map hash_map;long long Key, result = 0;int N;int main(){ cin >> N; for (int i = 0; i > Key; hash_map[Key]++; } vector> vec(hash_map.begin(), hash_map.end()); sort..

백준 2025.01.16

[BOJ/C++] 24417번 알고리즘 수업 - 피보나치 수 2

https://www.acmicpc.net/problem/24417문제해석 피보나치 수를 구할 수 N을 입력한다.문제에 나와있는 코드1, 코드2의 실행 횟수를 출력한다.코드 #include using namespace std;int fib(int n, deque fibodeque){ fibodeque.push_back(1); fibodeque.push_back(1); for (int i = 2; i fibodeque; int N; cin >> N; cout 문제 풀이​의사코드와 문제를 유심히 보면 코드1은 피보나치의 N항째 수를, 코드2는 for문의 실행횟수를 출력한다는 것을 알 수 있다.1, 2항을 제외하고 for문을 써서 더하므로 두번째로 출력할 값은 N-2라는걸 쉽..

백준 2025.01.08

[BOJ/python] 2057번 팩토리얼 분해

https://www.acmicpc.net/problem/2057 2057번: 팩토리얼 분해 음 아닌 정수 N이 주어졌을 때, 이 수를 서로 다른 정수 M(M ≥ 1)개의 팩토리얼의 합으로 나타낼 수 있는지 알아내는 프로그램을 작성하시오. 예를 들어 2=0!+1!로 나타낼 수 있지만, 5는 이와 같은 www.acmicpc.net 문제 해석 입력받은 숫자를 서로 다른 정수들의 팩토리얼만으로 나타낼 수 있으면 YES, 없으면 NO를 출력한다. 코드 import sys input = sys.stdin.readline n = int(input()) def factorial(n): # 팩토리얼 리스트 만드는 부분 factolist = [1, 1] for i in range(2, 20): factolist.appe..

백준 2022.10.25

[BOJ/python] 14651번 걷다보니 신천역 삼 (Large)

https://www.acmicpc.net/problem/14651 14651번: 걷다보니 신천역 삼 (Large) 욱제는 ‘삼’이란 음절을 참 좋아한다. 인삼, 홍삼, 해삼, 삼성, 이춘삼(李春森), 삼식이, 삼시세끼, ㄴㄴ 그거 안 삼, 삼과 죽음, 알았삼, 걷다보니 신천역 삼, 그리고 특히 일이삼을 좋아한다. www.acmicpc.net 문제 해석 (0, 1, 2 로 만든 N자리 숫자 중에서 3의 배수의 개수)를 1000000009로 나눈 나머지를 출력한다. 코드 import sys input = sys.stdin.readline n = int(input()) if n == 1: print(0) else: result = (3 ** (n - 2)) * 2 print(result % 100000000..

백준 2022.10.22

[BOJ/python] 1676번 팩토리얼 0의 개수

https://www.acmicpc.net/problem/1676 1676번: 팩토리얼 0의 개수 N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오. www.acmicpc.net 문제 해석 N!의 맨 뒷자리 0의 개수를 구한다. 코드 import sys from collections import deque input = sys.stdin.readline def factorial(n): factolist = deque([1, 1]) if n == 0 or n == 1: return 0 else: for i in range(2, n+1): factolist.append(factolist[-1] * i) factolist.popleft() factorialZero..

백준 2022.10.05

[BOJ/python] 10826번 피보나치 수 4

https://www.acmicpc.net/problem/10826 10826번: 피보나치 수 4 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 문제 해석 피보나치 수열의 n번째 항의 값을 출력한다. 코드 import sys from collections import deque input = sys.stdin.readline fibolist = deque([0, 1, 1]) n = int(input()) if n != 0: for i in range(3, n+1): fibolist.append(fib..

백준 2022.09.26

[BOJ/python] 14729번 칠무해

https://www.acmicpc.net/problem/14729 14729번: 칠무해 조(Joe)는 중앙대학교 교수이고, 논리회로 설계 과목을 담당하고 있다. 그는 수업을 하면서 7명의 학생을 제외한 나머지 학생들에게 좋은 학점을 주겠다고 약속을 하였다. Joe 교수님을 돕기 위해 www.acmicpc.net 문제 해석 하위 7명의 성적을 오름차순으로 출력한다. 성적은 최소 0점부터 100점까지 0.001점 단위로 입력된다. 코드 import sys input = sys.stdin.readline N = int(input()) list = [] for i in range(N): list.append(float(input())) if len(list) > 7: list.remove(max(list)) ..

백준 2022.09.26

[BOJ/pypy] 25603번 짱해커 이동식

https://www.acmicpc.net/problem/25603 25603번: 짱해커 이동식 첫 번째 줄에 정수 $N$, $K$가 주어진다. ($1 \le K < N \le 100\,000$) 두 번째 줄부터 $N$개의 기업 의뢰의 비용이 주어진다. 비용은 $1$ 이상 $10^9$ 이하의 정수이다. www.acmicpc.net 문제 해석 비용이 주어졌을 때 최대 비용의 최솟값을 출력한다. 코드 from collections import deque import sys input = sys.stdin.readline a,b = map(int, input().split()) array = list(map(int, input().split())) min_array = deque([0]) count = 0 f..

백준 2022.09.21

[BOJ/python] 15829번 Hashing

https://www.acmicpc.net/problem/15829 15829번: Hashing APC에 온 것을 환영한다. 만약 여러분이 학교에서 자료구조를 수강했다면 해시 함수에 대해 배웠을 것이다. 해시 함수란 임의의 길이의 입력을 받아서 고정된 길이의 출력을 내보내는 함수로 정 www.acmicpc.net 문제 해석 해시 값을 정수로 출력하며, 1234567891로 나눈 나머지를 출력한다. 코드 n = int(input()) string = input() result = 0 for i in range(len(string)): # 96 result = result + (ord(string[i])-96) * (31 ** i) print(result % 1234567891) 문제 풀이 처음 작성했던 코..

백준 2022.06.19