Algorithm/Math (101) 썸네일형 리스트형 (C++) - 프로그래머스(연습문제) : 소수찾기 programmers.co.kr/learn/courses/30/lessons/12921 코딩테스트 연습 - 소수 찾기 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 조건 n은 2이상 programmers.co.kr 아리스토텔레스의 체를 이용해 소수를 찾는 문제였습니다. 풀이방법 1. 100만까지의 소수 아닌 것을 체크해줍니다. 2. 2부터 n까지 중 체크가 안되어 있는 것은 소수이므로 답을 더해줍니다. Code #include using namespace std; void primeInit(int ck[]){ for(int i = 2 ; i (C++) - 프로그래머스(연습문제) : 124 나라의 숫자 programmers.co.kr/learn/courses/30/lessons/12899 코딩테스트 연습 - 124 나라의 숫자 programmers.co.kr 몫과 나머지를 이용한 수학 문제였습니다. 풀이방법 이 나라의 한 자리 수는 3개의 수로 표현됩니다. 10진수에서 10을 나눈 나머지는 곧 가장 오른쪽 한 자리의 수를 의미합니다. 3으로 나눈 나머지가 이 나라의 1자리이므로 10진수를 3씩 나누어 조건을 확인한 뒤, 해당 나라의 숫자로 한 개씩 문자를 추가해줍니다. Code #include using namespace std; string solution(int n) { string answer = ""; int num = n; while(num){ if(num % 3 == 0) answer = ".. (C++) - 백준(BOJ) 1173번 : 운동 www.acmicpc.net/problem/1173 1173번: 운동 첫째 줄에 다섯 정수 N, m, M, T, R이 주어진다. www.acmicpc.net 수학적으로 생각해 푼 문제였습니다. 풀이방법 * -1인 경우 : 운동시 바로 맥박이 M을 초과할 경우가 -1인 경우입니다. 아무리 최소 맥박에서 운동을 하더라도 운동 하자마자 제한 맥박을 초과시 운동을 n분할 수 없습니다. 그 외의 경우에는 휴식을 계속 취해서 맥박을 최소로 하거나 다음 운동을 바로 할 수 있을 때까지만 쉬어줌으로써 계속 운동을 할 수 있습니다. 1. 현재 맥박 + T(운동 시 늘어나는 맥박 수) > N >> m >> M >> T >> R; currentPulse = m; if(currentPulse + T > M){ cout (C++) - 백준(BOJ) 6502번 : 동혁 피자 답 www.acmicpc.net/problem/6502 6502번: 동혁 피자 대전 ACM-ICPC Regional가 끝나면, 대회 참가자들은 다같이 카이스트 근처의 동혁 피자에 간다. 대회는 5시간동안 진행되므로, 참가자는 모두 배가 매우 고프다. 피자를 최대한 빨리 먹기 위해서, 큰 www.acmicpc.net 간단한 수식으로 충족여부를 결정하는 구현문제였습니다. 풀이방법 1에 해당하는 선분은 피자의 너비/2입니다. 2에 해당하는 선분은 피자의 높이/2 입니다 3번은 따라서 피타고라스 정리에 의해 $\sqrt{ (\frac{너비}{2})^2 + (\frac{높이}{2})^2 }$ 가 됩니다 이 3번 선분의 길이가 식탁 반지름보다 작거나 같으면 fit입니다. Code #include using namesp.. (C++) - 백준(BOJ) 9020번 : 골드바흐의 추측 답 www.acmicpc.net/problem/9020 9020번: 골드바흐의 추측 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아 www.acmicpc.net 아리스토테네스의 체를 이용해 푸는 문제였습니다. 풀이방법 1. 아리스토테네스의 체로 소수가 아닌 수들을 체크한다. 2. 서로 다른 두 소수들 중 가장 작은 차이가 나는 경우는 두 소수가 각각 n/2일 경우다. 따라서 차이가 가장작은 n/2를 중앙으로 i, n-i를 차례대로 보면서 정답을 갱신해나가면 차이가 최소인 두 소수가 나온다. Code #include #define fastio ios_.. (C++) - 백준(BOJ) 1011번 : Fly me to the Alpha Centauri 답 https://www.acmicpc.net/problem/1011 1011번: Fly me to the Alpha Centauri 우현이는 어린 시절, 지구 외의 다른 행성에서도 인류들이 살아갈 수 있는 미래가 오리라 믿었다. 그리고 그가 지구라는 세상에 발을 내려 놓은 지 23년이 지난 지금, 세계 최연소 ASNA 우주 비행�� www.acmicpc.net 풀이방법 : distance = y - x 마지막은 무조건 1광년을 선택해야 한다. 거리,선택한 광년의 흐름,선택횟수 순으로 정리해봤습니다. 01 : 1 선택횟수 : 1 02 : 1 -> 1 선택횟수 : 2 03 : 1 -> 1 -> 1 선택횟수 : 3 04 : 1 -> 2 -> 1 선택횟수 : 3 수의 증감이 ^형태로 되어 있어 대칭을 이룰 때 2.. (C++) - 백준(BOJ) 2998번 : 8진수 https://www.acmicpc.net/problem/2998 2998번: 8진수 문제 창영이는 여러 가지 진법을 공부하고 있다. 창영이는 어제 2진법을 배웠고, 오늘은 8진법을 배웠다. 이제, 2진법 수를 8진법 수로 변환하려고 한다. 창영이가 사용한 방법은 다음과 같다. 2진수의 길이가 3으로 나누어 떨어질 때 까지 수의 앞에 0을 붙인다. 그 다음, 3자리씩 그룹을 나눈다. 아래의 표를 참고해 8진수로 바꾼다. 2진수가 주어졌을 때, 창영이가 사용한 방법을 이용해 8진수로 바꾸는 프로그램을 작성하시오. 000 0 001 1 010 www.acmicpc.net 간단한 진법 변환 문제였습니다. 12345678910111213141516171819202122232425262728293031323334.. (C++) - 백준(BOJ) 1789번 : 수들의 합 https://www.acmicpc.net/problem/1789 1789번: 수들의 합 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. www.acmicpc.net 서로 다른 n개의 자연수의 합이 s n의 최대 : 가장 작은 수부터 더해서 s가 될 경우 12345678910111213141516171819202122#include #define ll long longusing namespace std;int main() { ll n; ll ans = 0; ll sum = 0; cin >> n; for (ll i = 1; sum 이전 1 ··· 8 9 10 11 12 13 다음