본문 바로가기
반응형

전체 글162

BOJ 15829 - Hashing / C++ 문제 링크 : https://www.acmicpc.net/problem/15829 15829번: Hashing APC에 온 것을 환영한다. 만약 여러분이 학교에서 자료구조를 수강했다면 해시 함수에 대해 배웠을 것이다. 해시 함수란 임의의 길이의 입력을 받아서 고정된 길이의 출력을 내보내는 함수로 정 www.acmicpc.net 풀이 해당 수식을 계산하는 과정에서 31^49와 같은 매우 큰 수를 계산하게 되므로 C++의 pow를 사용하면 오버플로우가 발생한다. 따라서 직접 pow 함수를 구현하며 계산 과정에서 modulo 연산을 수행해준다. 나머지는 단순 수식 구현이므로 생략한다. 코드 #include #include using namespace std; #define ull unsigned long lo.. 2022. 4. 14.
BOJ 10816 - 숫자 카드 2 / C++ 문제 링크 : https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 풀이 이전의 숫자 카드 문제는 아래와 같이 풀이하였다. https://appdevorsec.tistory.com/42 하지만, 숫자 카드 2는 시간 제한이 더 줄어들었으므로 이진 탐색을 통해 풀어야한다. lower_bound는 찾으려는 값보다 같거나 큰 값이 존재하는 인덱스, upper_bound는 찾으려는 값을 초과하는 첫 인덱스이다. 예를 들어,.. 2022. 4. 13.
프로그래머스 - 피로도 / C++ 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/87946 코딩테스트 연습 - 피로도 XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던 programmers.co.kr 풀이 주어진 던전들을 순열로 돌며 직접 카운트해주면 된다. 순열을 사용하기 위해 정렬을 해줘야한다. 각 경우의 수마다 필요 피로도보다 현재 피로도가 크면 현재 피로도에서 소모 피로도를 빼주는 연산을 수행하고 카운트를 센 뒤 max를 통해 최댓값을 갱신한다. 코드 #include using namespace std; int solution(i.. 2022. 4. 12.
BOJ 2609 - 최대공약수와 최소공배수 / Swift 문제 링크 : https://www.acmicpc.net/problem/2609 2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. www.acmicpc.net 풀이 최소공배수, 최대공약수 공식을 그대로 구현하면 된다. 코드 import Foundation var input = readLine()!.split(separator: " ").map{ Int($0)! } var a: Int = input[0] var b: Int = input[1] var tmp: Int = 0 var larger: Int = a >= b ? a : b var smaller: Int = a < b ? a : b //최대 공약수 w.. 2022. 4. 11.
반응형