본문 바로가기

전체 글127

[스튜디오 촬영 후기] 헤이쥬드 보호되어 있는 글 입니다. 2024. 4. 20.
이기적 유전자에 대해 대화한 내용들 - 이기적 유전자에서 이기적이라는 단어는 사실 정확하지는 않다. 이해를 쉽게 하기 위해, 그리고 바이럴을 위해 나쁘지 않은 선택이었지만 의미는 그렇지 않다. 유전자는 의도가 없다. 환경에 맞는 유전자가 살아남아, 전달되었을 뿐이다. - 유전자는 잠재적으로 불멸성을 가진다. 해당 정보는 전달자가 존속하고, 그 정보 전달 행위를 계속하는 이상 불멸한다. 그런 의미에서 AI도 잠재적 불멸성이 있다. 인간이 필요에 의해 개발된 코드들은 어딘가 저장되어 계속 전달되고 교차/변이를 거쳐 보다 발전된 모델로 나아간다. - 유전자 → 개체 → 집단의 세 계층에서 바라보면 각각의 지능과 각각의 목적이 모두 다르다. 그리고 이러한 계층은 아래로도, 위로도 확장할 수 있다. 위로 확장하면 사회, 국가로 갈 수 있고, 아래로.. 2024. 3. 10.
백준 1253번 좋다 (C++) 문제 N개의 수 중에서 어떤 수가 다른 수 두 개의 합으로 나타낼 수 있다면 그 수를 “좋다(GOOD)”고 한다. N개의 수가 주어지면 그 중에서 좋은 수의 개수는 몇 개인지 출력하라. 수의 위치가 다르면 값이 같아도 다른 수이다. 입력 첫째 줄에는 수의 개수 N(1 ≤ N ≤ 2,000), 두 번째 줄에는 i번째 수를 나타내는 Ai가 N개 주어진다. (|Ai| ≤ 1,000,000,000, Ai는 정수) 출력 좋은 수의 개수를 첫 번째 줄에 출력한다. 풀이 #include #include #include using namespace std; bool cmp (int a, int b){ return a> N; vector num(N,0); for (int i=0;i> num[i]; } sort(num.b.. 2024. 2. 15.
백준 1940번 주몽 (C++) 문제 주몽은 철기군을 양성하기 위한 프로젝트에 나섰다. 그래서 야철대장을 통해 철기군이 입을 갑옷을 만들게 하였다. 야철대장은 주몽의 명에 따르기 위하여 연구에 착수하던 중 아래와 같은 사실을 발견하게 되었다. 갑옷을 만드는 재료들은 각각 고유한 번호를 가지고 있다. 갑옷은 두 개의 재료로 만드는데 두 재료의 고유한 번호를 합쳐서 M(1 ≤ M ≤ 10,000,000)이 되면 갑옷이 만들어 지게 된다. 야철대장은 자신이 만들고 있는 재료를 가지고 갑옷을 몇 개나 만들 수 있는지 궁금해졌다. 이러한 궁금증을 풀어 주기 위하여 N(1 ≤ N ≤ 15,000) 개의 재료와 M이 주어졌을 때 몇 개의 갑옷을 만들 수 있는지를 구하는 프로그램을 작성하시오. 입력 첫째 줄에는 재료의 개수 N(1 ≤ N ≤ 15,0.. 2024. 2. 15.
백준 2018번 수들의 합 5 (C++) 문제 어떠한 자연수 N은, 몇 개의 연속된 자연수의 합으로 나타낼 수 있다. 당신은 어떤 자연수 N(1 ≤ N ≤ 10,000,000)에 대해서, 이 N을 몇 개의 연속된 자연수의 합으로 나타내는 가지수를 알고 싶어한다. 이때, 사용하는 자연수는 N이하여야 한다. 예를 들어, 15를 나타내는 방법은 15, 7+8, 4+5+6, 1+2+3+4+5의 4가지가 있다. 반면에 10을 나타내는 방법은 10, 1+2+3+4의 2가지가 있다. N을 입력받아 가지수를 출력하는 프로그램을 작성하시오. 입력 첫 줄에 정수 N이 주어진다. 출력 입력된 자연수 N을 몇 개의 연속된 자연수의 합으로 나타내는 가지수를 출력하시오 풀이 #include using namespace std; int main(){ ios::sync_w.. 2024. 2. 15.
백준 10986번 나머지 합 (C++) 문제 수 N개 A1, A2, ..., AN이 주어진다. 이때, 연속된 부분 구간의 합이 M으로 나누어 떨어지는 구간의 개수를 구하는 프로그램을 작성하시오. 즉, Ai + ... + Aj (i ≤ j) 의 합이 M으로 나누어 떨어지는 (i, j) 쌍의 개수를 구해야 한다. 입력 첫째 줄에 N과 M이 주어진다. (1 ≤ N ≤ 10^6, 2 ≤ M ≤ 10^3) 둘째 줄에 N개의 수 A1, A2, ..., AN이 주어진다. (0 ≤ Ai ≤ 10^9) 출력 첫째 줄에 연속된 부분 구간의 합이 M으로 나누어 떨어지는 구간의 개수를 출력한다. 풀이 #include #include using namespace std; int main(){ ios::sync_with_stdio(false); cin.tie(NULL.. 2024. 2. 15.