[백준 2609번] 최대공약수와 최소공배수
·
📚 스터디/알고리즘
2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. www.acmicpc.net 문제 상황 주어지는 두 자연수에 대해 최대공약수와 최소공배수를 순서대로 구해야하는 문제이다. 솔루션 1. 최대공약수 2. 최소공배수 하나씩 구해내는 솔루션을 택했다. 1. 최대공약수 솔루션 주어진 두 자연수의 약수를 각각 모두 구했다. 약수 중 공통되는 것을 찾아 공약수 리스트를 구하고, 공약수 리스트의 최댓값을 최대공약수로 출력했다. 2. 최소공배수 솔루션 주어진 두 자연수 중 하나를 숫자 1부터 배수로 곱하며, 나머지 다른 자연수와 나누어 떨어지면, "주어진 자연수 중 하나 X 배수" 를 최소공배수로 출력했다. 즉, 최대 공..
[백준 1259번] 팰린드롬수
·
📚 스터디/알고리즘
1259번: 팰린드롬수 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다. www.acmicpc.net 문제 상황 121, 12421, 010, 202 와 같은 수를 팰린드롬수라고 한다. 즉, 팰린드롬수는 어떠한 수를 거꾸로 읽어도 똑같다면 팰린드롬수이다. 입력으론, 1~99999 범위의 정수가 주어지며 팰린드롬수인지를 판별해내야하는 문제이다. 솔루션 str() 함수는 정수를 문자열로 바꿔주는 함수이다. 문자열은 "배열"로 정의되어 한개의 문자마다 고유한 인덱스가 순서대로 정의된다. 이번 문제에선 주어진 수를 거꾸로 뒤집어 기존 주어진 수와 일치하는 지 비교해야 되었다. 따라서,..
[백준 15829번] Hashing
·
📚 스터디/알고리즘
15829번: Hashing APC에 온 것을 환영한다. 만약 여러분이 학교에서 자료구조를 수강했다면 해시 함수에 대해 배웠을 것이다. 해시 함수란 임의의 길이의 입력을 받아서 고정된 길이의 출력을 내보내는 함수로 정 www.acmicpc.net 문제상황 해시란, 임의의 길이를 가진 데이터를 입력받아 고정된 길이인 해시 값을 출력하는 함수이다. 주로, 데이터 암호화에서 해시를 사용한다. 그럼, 해시 값을 만들기 위해, 특정한 해시 함수가 존재한다. (임의의 값에 대해 중복된 해시 값을 지니고 있을 때, 해시 충돌이 있다고 말한다.) 해당 상황에선, 임의의 입력 데이터를 "소문자 알파벳 문자열"로 한정했고, 그에 따른 해시 함수 (hash function)을 제공했다. 입력으론, 문자열의 길이와 문자열이 ..