300x250
인트로 꽤나 수학적인 문제이다. 문제를 풀기 전 알아야 할 한 가지 개념이 있다. 2 이상의 모든 자연수는 소수의 곱으로 표현할 수 있다. 예를 들어 12는 2 x 2 x 3으로 표현할 수 있다. 이처럼 2 이상의 자연수는 소수의 곱으로 쪼개질 수 있다. N!의 표현법 문제 임의의 N에 대하여 N!은 1부터 N까지의 곱을 의미한다. 이는 N이 커짐에 따라 급격하게 커진다. 이러한 큰 수를 표현하는 방법으로 소수들의 곱으로 표현하는 방법이 있다. 먼저 소수는 2, 3, 5, 7, 11, 13... 순으로 증가함을 알아야 한다. 예를 들면 825는 (0 1 2 0 1)로 표현이 가능한데, 이는 2는 없고 3은 1번, 5는 2번, 7은 없고, 11은 1번의 곱이라는 의미이다. 101보다 작은 임의의 N에 대하..
인트로 이전 포스팅에서 다루었던 석차 구하기 문제와 유사하다. 본 문제에서 다룰 전수조사에 관한 내용은 해당 포스팅을 참조하길 바랍니다. [Algorithm] level1 : 석차 구하기 (Brute force 브루트 포스) 인트로 브루트 포스 알고리즘이 적용될 문제를 소개하려 한다. 브루트 포스 Brute force, 브루트 포스는 완전 탐색 알고리즘이다. 완전 탐색 알고리즘이란 모든 경우의 수를 조사하는 방법이다. 자 kangworld.tistory.com 마라톤 문제 KSEA 장거리 달리기 대회가 진행되어 모든 선수가 반환점을 넘었다. 각 선수의 입장에서 자기보다 앞에 달리고 있는 선수들 중 평소 실력이 자기보다 좋은 선수를 남은 거리 동안 앞지르는 것은 불가능하다. 반대로, 평소 실력이 자기보다 ..
인트로 여러 숫자들 사이에서 조건을 만족하는 연속된 숫자의 개수를 구하는 문제이다. 문제 이름은 층간소음이지만 어떠한 형태로 변형이 가능할 만큼 기본적인 문제라 알아보면 좋을 것 같다. 층간소음 문제 T편한 세상 아파트는 층간소음 발생 시 윗집의 발뺌을 방지하기 위해 애초 아파트를 지을 때 바닥에 진동센서를 설치했습니다. 이 센서는 각 세대의 층간 진동소음 측정치를 초단위로 아 파트 관리실에 실시간으로 전송합니다. 그리고 한 세대의 측정치가 M값을 넘으면 세대 호수와 작은 경보음이 관리실 모니터에서 울립니다. 한 세대의 N초 동안의 실시간 측정치가 주어지면 최대 연속으로 경보음이 울린 시간을 구하세요. 경보음이 없으면 -1를 출력합니다. ※ 입력설명 첫 줄에 자연수 N(10 n >> m; for (int..
인트로 소수 찾기 알고리즘도 약수 찾기와 비슷한 문제로 많이 소개된다. 코딩을 입문하거나 알고리즘을 공부하는 사람들이 한 번쯤 거쳐가는 문제라고 생각한다. 본 포스팅에선 임의의 숫자가 입력되고 소수인지 판별하는 문제가 아닌! 구간 내에 소수가 몇 개 존재하는지 출력하는 문제를 소개하려 한다. + 본 문제의 출저 https://programmers.co.kr/learn/courses/30/lessons/12921 코딩테스트 연습 - 소수 찾기 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 조건 n은 2이상 programmers.co.kr 문제 1부터 입력받은 숫자..
인트로 대학교 1학년 때 코딩을 처음 배우면서 약수 구하기 과제를 참 많이 한 것 같다. 그만큼 약수 구하기가 알고리즘의 첫걸음을 시작하기 좋은 문제가 아닐까 한다. 본 포스팅에선 기본적인 약수의 개수 구하기와 여러 수의 약수의 개수를 구하는 코드를 소개하려 한다. 모두의 약수 문제 자연수 N이 입력되면 1부터 N까지의 각 숫자들의 약수의 개수를 출력하는 프로그램을 작성하 세요. 만약 N이 8이 입력된다면 1(1개), 2(2개), 3(2개), 4(3개), 5(2개), 6(4개), 7(2개), 8(4 개)와 같이 각 숫자의 약수의 개수가 구해집니다. 출력은 다음과 같이 1부터 차례대로 약수의 개수만 출력하면 됩니다. 1 2 2 3 2 4 2 4 와 같이 출력한다. ※입력설명 첫 번째 줄에 자연수 N(5 n..
인트로 알고리즘 코드는 C 또는 C++ 기반으로 작성되었습니다. 숫자가 입력되면 1부터 N까지의 숫자까지 총 몇 개의 숫자가 사용되었을지 구하는 문제이다. 숫자가 작으면 간단한 방식으로 해결이 되지만 숫자가 많아지면 시간이 오래 걸리게 된다. 작은 숫자 큰 숫자 모두 잘 돌아가는 코드를 알아보려 한다. 숫자의 총 개수 (SMALL) 문제 자연수 N이 입력되면 1부터 N까지의 자연수를 종이에 적을 때 각 숫자는 몇 개 쓰였을까요? 예를 들어 1부터 15까지는 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, 1, 5으로 총 21개가 쓰였음을 알 수 있습니다. 자연수 N이 입력되면 1부터 N까지 각 숫자는 몇 개가 사용되었는지를 구하는 프로그램을 작 성하세..