import sys
input = sys.stdin.readline
N, M, K = list(map(int, input().split()))
team = 0

# my fault
# intern = 0
# while True:
#     if N//2 >= M:
#         N = N-1
#         intern = intern + 1
#         if K == intern:
#             break
    
#     elif N//2 < M:
#         M = M -1
#         intern = intern + 1
#         if K == intern:
#             break

# t1 = N // 2
# t2 = M 
# print(min(t1, t2))

while True:
    N = N - 2
    M = M - 1
    if N < 0 or M < 0 or (N+M) < K:
        break
    team = team + 1
print (team)
A, B = map(str, input().split())
if "6" in A or "6" in B:
    A = A.replace("6","5")
    B = B.replace("6","5")
_min = sum(map(int, [A, B]))

if "5" in A or "5" in B:
    A = A.replace("5","6")
    B = B.replace("5","6")
_max = sum(map(int, [A, B]))
print (_min, _max)
#include <iostream>

#define BIG 5
#define SMALL 3

using namespace std;

int Solution(int N)
{
	int quoteB = N / BIG; // 큰 설탕의 upper bound를 우선 결정
	
	while(true)
	{
		
		int Remainder = N - (BIG * quoteB); // 큰 설탕의 개수에 따라 나머지 결정 
		if (Remainder % SMALL == 0)	// 나머지가 작은 설탕으로 딱 떨어질 경우, 큰 설탕 개수 + 작은 설탕 개수 반환 
		{
			int quoteS = Remainder / SMALL;
			return quoteB+quoteS;
		}
		
		if (quoteB == 0)
			break;
			
		quoteB = quoteB -1;
	}
	
	return -1;
	
}

int main(void)
{
	int N = 0;
	
	cin >> N;
	
	if (N>=3 and N<=5000)
	{
		int result = Solution(N);
		cout << result;
	}
	
	return 0;
}
N, M = list(map(int, input().split()))
numbers = list(map(int, input().split()))
max = 0
for i in range(0, len(numbers)):
    for j in range(i+1, len(numbers)):
        for k in range(j+1, len(numbers)):
            temp = numbers[i] + numbers[j] + numbers[k]
            if temp > max and temp <=M:
                max = temp
print (max)
#include <iostream>
using namespace std;

bool checkLeapYear(int year)
{
	if ((year % 4 == 0 and year % 100 != 0) or (year % 4 ==0 and year % 400 == 0))
	{
		return true;
	}
	
	else
	{
		return false;
	}
}

int main(void)
{
	int result = -1; // 여부 확인 
	int year = 0; // 입력 연도 

	cin >> year;
	
	if (year>=1 and year<=4000)
	{
		result = checkLeapYear(year);
		cout << result << endl; 	
	}

	return 0;
}
import sys
input = sys.stdin.readline

fibo_nums = [0, 1]
for i in range(90):
    fibo_nums.append(sum([fibo_nums[-1], fibo_nums[-2]]))
    
n = int(input())
print (fibo_nums[n])

 

import sys
input = sys.stdin.readline

fibo_nums = [0, 1]
for i in range(90):
    fibo_nums.append(sum([fibo_nums[-1], fibo_nums[-2]]))
    
n = int(input())
print (fibo_nums[n])

 

📚 [배우는 방법을 배워라]


학습법에 관심을 갖게 된 이후 학습이란 어떻게 해야하는가에 대한 확신을 가져다 준 책이다. 저자는 학습이란 크게 4가지 모듈로 구성된다고 말한다. 전략, 인풋, 추상화 및 구조화, 축적이다.

 

《전략》

전략의 배경은 우리가 독학에 사용할 수 있는 가용 시간이 적기 때문에 애초에 깊이, 자세히 아는 것은 불가능하기에 효율적인 인풋과 축적은 모두 전략에 달렸다며 그 중요성을 말한다. 전략의 핵심은 테마와 장르를 구분하는 것이라 말한다. 테마란 내가 알고자 하는 것이며 장르란 알고자 하는 것이 담긴 분야를 말한다. 저자는 테마가 메인이되고 장르를 서브로 두는 것이 효율적인 전략을 세우는 방법이라 말한다. 테마를 기반으로 여러 장르로부터 시사점과 통찰을 만들 수 있기 때문이다. 따라서 결론적으로 독학의 목표는 테마로 두어 알고자하는 것에 포커스를 맞추는 것이다.

 

《인풋》

인풋의 방법은 여러가지가 있었다. 그 중 3가지만 말하자면, 첫 번째론 독서 시 의식적인 목적 상기가 필요하다 말한다. 독서를 통해 무엇을 할 것인가? 무엇을 성취하고자 하는가? 지적 전투력을 상승시킬 것인가? 아니면 오락이 목적인가?와 같이 자신의 독서 목적을 상기시키면 자신이 원하는 테마에 대한 민감도가 높아져 효율적인 학습이 될 수 있다 말한다. 두 번째론 단기적인 시각으로 인풋해도 충분하다는 것이다. 커리어나 미래는 예측불가능하기 때문에 오히려 역산하여 어떤 것을 인풋할지 결정하는 것은 우연성이 낮아지고 위험성이 높아질 수 있다 말한다. 그렇기 때문에 지금 당장 도움 되는 재밌는 것을 고르라 말한다. 세 번째는 목적없이 인풋하는 것이 중요하다 말한다. 지금 당장 아웃풋을 많이 내는 사람은 살면서 절대적인 인풋의 시기가 존재했다는 것이다. 나중에 아웃풋하려면 인풋에 드는 기회비용이 많이 들기 때문에 타인이 아웃풋을 요구하지 않은 시기에 많은 것을 인풋하는 것이 중요하다고 한다. 

 

《추상화 및 구조화》
추상화란 핵심만 뽑아내는 것이다. 다르게 말해 모델링을 하는 것이다. 추상화는 경험이나 지식으로부터 배운 것을 범용적으로 적용할 수 있는 상위의 통찰을 만드는 것이다. 어떠한 경험과 지식을 가지고 추상화를 하면 하나의 가설을 만들 수 있는데 이 가설의 진실여부는 중요하지 않다고 말한다. 계속해서 배운지식과 추상화로 얻은 가설을 함께 축적하는 습관을 가지는 것이 중요하다 말한다. 셜록홈즈가 남과 동일한 정보를 가지지만, 가설과 추리를 통해 기막힌 결과를 내는 것과 같이 말이다. 추상화를 비유로 들자면 수학에서 명제가 공리계에 닿을 때까지 만드는 것이다. 반대로 구조화는 공리계에서 명제를 도출하는 것이라 할 수 있다.

 

《축적》
축적에서 중요한 것은 기억에 의지하지 않는 것이다. 대부분 지극히 평범한 기억력이기 때문에 키워드나 컨셉만 자신만의 공간에 만들어두고 필요에 따라 검색할 수 있도록만 만들어도 충분하다는 것이다. 이를 위해 반복의 중요성을 말한다. 초독 때는 밑줄긋기를 통해 흥미로운 사실, 통찰/시사, 행동지침 등을 표시해두어야 하며, 재독때는 밑줄 쳤던 5~9줄 내의 중요 부분을 뽑아내고 우선순위를 정해야 하며 삼독때는 추후 참조 가능하도록 옮겨적어야 한다고 말한다. 

실제로 이 책에서 설명하는 학습법을 사용했더니, 전공과는 무관하면서 내가 알고자 했던 테마인 신약 개발의 한 연구분야를 이해하고 한 시간 가량 설명할 수 있게 되었다. 무언가를 많이 배우고자 하는 사람들이나 빠르게 배우고자 하는 사람들이 있다면 일독을 권한다. 

“첩보 기관이 입수하는 정보의 대부분은 우리 일반인도 접촉 가능한 정보다. 즉, 첩보 기관은 인풋된 정보의 양과 질보다도 모은 정보로부터 고도의 통찰을 얻어내는 능력에서 우월함을 가진 것이다.” - 야마구치 슈

 

[미래 인류와 우주정신]

비약적인 기술 발전으로 인해 미래 인류가 겪을 한 사회를 배경으로 한다. 어쩌면 인류들이라 표현할 수 있겠다. 인간과 더 이상 구분할 수 없을 정도로 정교하게 만들어진 휴머노이드와 인간의 공존을 그렸기 때문이다. 이 책은 내게 많은 흥미로운 키워드와 내용이 있었다. 강인공지능, 뇌 업로드, 영생, 순수의식, 우주정신, 노자사상, 불교사상 등이었다.

 

이들은 내게 몇 가지 생각을 가져다 주었는데 그 중 첫 번째는 영생에 대한 치우친 편향의 평형을 가져왔다. 의식을 업로드하여 영원히 살아가는 미래 인류들이 겪는 끝 없는 지루함과, 결국 죽음을 선택하는 모습을 엿보게 되면서, 어쩌면 죽지 못하는 것이 더욱 고통이란 생각이 들었다. 두 번째는 현재 사회와 미래 사회 간의 간극을 통해 나라는 존재는 무엇을 하며 살아가야 할까에 대한 방향성을 조율할 수 있게 됐다. 내가 살아있는 동안은 뇌공학, 생물학, 물리학, 나노공학, 인공지능과 같은 과학기술의 비선형적인 발전이 있을 것이라 생각했다. 그래서 공상과학을 구현해보고 싶고, 그런 삶을 살아갈 수 있다면 어떨까 하는 상상도 했다. 하지만 이 책을 읽으며 어쩌면 그런 특이점은 생각보다 늦은 시기에 도래할 것 같단 생각도 들며, 한 걸음 물러서 다시 삶을 바라보게 됐다. 마지막으로 인류애를 생각하게 되었다. 등장 인물 간의 대화를 통해, 우주라는 시공간 속에 찰나의 순간에 개별적인 의식을 갖고 살아가는 것은 엄청난 행운이라 말한다. 그렇기에 이 짧은 찰나의 생을 통해 조금이라도 더 나은 존재가 되도록 분투하고, 우주의 원리를 깊이 깨우치려 애써야 한다는 인상 깊은 대목이 있었기 때문이다. 

 

나는 내 삶의 존재의의와 방향성을 생각하게 만드는 것을 좋아한다. 이 책이 그런 책이다. 평소에 소설을 주로 편식하는데, 이 책으로 인해 조금씩 더 먹어보고 싶은 호기심이 생긴 계기가 되었다. 마지막으론 내 삶의 존재의의와 방향성과 같은 끝없는 스스로의 사색과 사유가 필요한 문제에 대해 책에 의존하는 나의 정신적 빈곤함을 반성한다.

“인간은 과거와 현재, 미래라는 관념을 만들고 거기 집착합니다. 그래서 인간들은 늘 불행한 것입니다. 그들은 자아라는 것을 가지고 있고, 그 자아는 늘 과거를 후회하고 미래를 두려워할 뿐 유일한 실재인 현재는 그냥 흘려보내기 때문입니다.” - 책 속에서

📚 창업 정글 생존기

스타트업에 관심있고 시작하려는 초심자들에게 유용한 현실적인 지침이 담긴 책이다. 책이 가벼우면서도 심플하며 핵심만 담아서 이해하기도 쉽다. 목차만 읽어도 말하고자 하는 핵심이 다 담겨있다. 저자는 다년간 스타트업을 운영하며 피보팅하고 리브랜딩하며 겨우겨우 정글에서 살아남은 경험을 담았다. 경험으로부터 쌓인 많은 지침이 있었지만 가장 핵심은 좋은 서비스를 만드는 것이라 생각한다. 몇몇 이외의 조언은 직원 채용은 최대한 보수적으로 하고, 혼자서도 할 수 있다는 신념으로 해야하며, 끊임없이 서비스에 대해 생각하고, 투자와 같은 치트키 말고 고객만족에 집중하며, 기획은 오래걸려도 좋으니 치밀하게 준비하고 반드시 대표가 함께하라는 것이다. 그리고 고통스럽더라도 끝끝내 존버하면 성공한다는 이야기다. 이 책의 내용을 모두 하나로 엮는 또 다른 핵심이 있다면 반드시 망한 스타트업을 분석하여 반면교사 삼아 같은 실패를 되풀이 하지않는 것일 것이다.

"Stay hungry, stay foolish" - 책 속에서


+ Recent posts