전체 글 54

백준 33489: 수열의 점수

https://www.acmicpc.net/problem/33489  xA_i 를 x와 y에 대해 표현하면... 직접 써보자. A_0 = xA_1 = yA_2 = x - yA_3 = -x + 2yA_4 = 2x - 3yA_5 = -3x + 5yA_6 = 5x - 8y..... 규칙이 보이는지? x와 y의 계수는 피보나치 수열의 숫자들이다.x/y=R이라고 두자.그럼 A_i>0일때마다 1점을 얻으니,0점: x>0 (당연한 소리)1점: y>0 (당연한 소리) x와 y 값에 상관없이 1점은 기본으로 받을 수 있다. 계속해보겠다. 2점: R>1/13점: R4점: R>3/25점: R6점: R>8/57점: R8점: R>21/13.....역시나 규칙이 보인다.R값은 홀수번째 연속된 두 피보나치 수의 비율보다 작아야 하..

problem solving 2025.02.18

고려대학교의 마이크로디그리 제도

나는 현재 고려대학교에서 수학과를 이중전공중이다. (현재 군휴학 중) 수학과 홈페이지를 둘려보던 도중 새로운 것을 발견했다. 바로 마이크로디그리 Microdegree 제도이다.https://www.youtube.com/watch?v=jL1FJf8LHTc 2023년에 생겼다는데, 나는 오늘 처음 알았다. 수학과를 이중전공으로 택한 것은 순전히 내가 수학을 좋아하기 때문이었지만 깊이 공부하다보면 힘들다. 마이크로디그리 제도는 이중전공까지는 아니고 한 15학점 정도만 선별된 전공과목을 들으면 micro한 degree를 주는 제도이다. (크게 쓸모가 있을지는 잘 모르겠다.) https://math.korea.ac.kr/%ec%9d%b8%ea%b3%b5%ec%a7%80%eb%8a%a5%ec%9d%98%ec%88%..

공부/코딩 2025.02.16

네트워크 기초 5일차: 전송 계층

휴가 나갔다 와서 오랜만에 네트워크 공부 시작. 전송 계층오류 점검 기능과 컴퓨터가 데이터를 받을 경우 어떤 애플리케이션으로 전달해야 하는지를 식별하는 기능을 한다. 오류 점검 방법에는 3가지가 있다. 1. 혼잡 제어네트워크로 들어가는 정보량을 조절해 네트워크가 혼잡해지지 않게 하는 방법이다. 수신자로부터 정상적인 ACK를 받으면 데이터 전송량을 점점 늘려가다가 타임아웃이 발생하면 데이터를 줄여서 발송한다. 2. 흐름 제어3일차의 회선 제어랑 동일한 방식이다. ACK 메세지를 받은 후에야 다음 데이터를 보내는 식이다. 3. 오류 제어- 확인 응답: ACK를 받지 못하면 오류로 판정한다.- 시간 초과: 특정 시간 내 ACK가 없으면 오류가 있다고 판단한다. (ACK가 너무 늦게 올 때)연결형 통신데이터를 ..

공부/네트워크 2025.02.16

네트워크 기초 4일차: 네트워크 계층

오랜만에 책을 폈다. 왜 바빴나 생각해보면...? 글쎄. 아무튼 오랜만에 폈다. 네트워크 계층 공부 시작. 많이 공부한 것 같은데 아직 3계층이다. 나는 일하면서 IP주소 관리 업무를 담당하고 있는데, 그 덕분에 확실히 이해가 잘 된다.IP 주소 인터넷상의 컴퓨터의 고유한 주소다. 인터넷 서비스 제공자(ISP)인 SKT, KT, LG U+ 등에게 인터넷 설치를 신청하면 공인 IP를 부여받는다. 32비트(4바이트)로 이루어져있다. 1바이트(8비트)씩 나누어 마침표로 구분해 10진수로 표기를 한다. 예시: 192.168.2.124 따라서 각 바이트는 0~255까지 값만 가질 수 있다. 다만 0과 255는 용도가 정해져있기 때문에 IP 주소로 사용하지 않는다. 이를 테면 마지막 바이트가 0인 주소는 네트워크 ..

공부/네트워크 2025.02.08

네트워크 기초 3일차: 데이터 링크 계층

사지방에 들어와 30분간 핸드폰을 한다. 드디어 사지방 로그인을 한다. 그리고 1시간 10분동안 핸드폰을 한다. 이렇게는 안되겠다 싶어서 드디어 책을 펼친다. 오늘은 3일차로, OSI 7계층 중 2계층인 데이터 링크 계층을 공부하겠다. 오늘부터는 임시저장 하는 습관을 들인다. 오늘도 어김없이 검색하다가 사이트를 클릭했는데 (첨보는 블로그 비슷한 사이트) 유해사이트라고 차단되어 다 날라갈 뻔 했다. 다행히 이번엔 임시저장을 해 파일을 날리지 않았다.데이터 링크 계층데이터를 관리하고 전달하는 계층이다. 여러 데이터를 동시에 전송하면 서로 충돌해 제대로 전달이 되지 않는데, 이 오류를 탐지하고 수정하는 역할을 한다. 오류를 감지하고 수정하는 데는 3가지 방식이 있다. 1. 회선 제어 통신의 시작에 ENQ(en..

공부/네트워크 2025.02.01

네트워크 공부 2일차: 물리 계층

오늘도 네트워크를 공부한다. OSI 7계층 중 가장 아래 계층인 물리 계층을 공부한다. 사지방에서 글쓰다가 인터넷 검색 하다가 fmkorea 사이트에 들어갔는데 유해사이트로 차단되어서 크롬창이 완전이 꺼져버렸다. 자동저장도 안 되어서 쓰던 글 전부 날아가서 화난다. 30분 동안 쓴 글 날아가버렸다. 사지방의 유해사이트 차단기능은 정말 잘못 설계되었다. 인터넷 하다가 실수로 트위터를 들어가도 크롬창이 다 강제종료된다. 트위터도 유해사이트기 때문이다. 공들여 쓴 글 처음부터 다시 쓰겠다.물리 계층 물리 계층은 컴퓨터들을 물리적으로 연결하고, 데이터를 전기 신호로 변환 및 제어한다. 데이터를 0과 1의 비트로 변환하고, 비트를 전기 신호로 변환하고, 전기 신호를 전송하고, 전기 신호를 다시 비트로, 비트를 다..

공부/네트워크 2025.01.29

백준 33274: 적당한 휴식은 필수

https://www.acmicpc.net/problem/33274 일단 n이 짝수인 경우만 생각하자.R1, R2, R3, ....., Rn, C1,C2,....., Cn이라는 총 2n개의 값은 0,1,2,3,.....,2n-1이 되어야 mex값이 최대가 될 수 있다. 문제를 풀 때 가장 먼저 생각했어야 하는 것은 R1~Rn값들의 합은 C1~Cn값들의 합과 같아야 한다는 것이다. n=4인 경우를 예로 들어보겠다.2n-1=7이다.0~7까지 값들을 짝수 홀수로 분류하자. 짝수: 0 2 4 6홀수: 1 3 5 7 이때 짝수를 앞에 있는 것 절반, 홀수를 뒤에 있는 것 절반을 가져와서 한 세트로 묶고, 나머지를 다른 한 세트로 묶으면 각 세트의 수들의 합이 14로 같아진다. 세트1: 0 2 5 7세트2: 1 3..

problem solving 2025.01.28

네트워크 기초 1일차: OSI 7계층

최근엔 "모두의 네트워크 기초"라는 책으로 네트워크를 공부하는 중이다.  나는 현재 군인으로, 내 보직이 당연히 내 전공과 관련있을 줄 알고 보직을 골랐지만 실상은 다른 점이 더 많았다. 특히 주된 업무가 네트워크 관리인데 나는 네트워크를 하나도 공부하지 않고 입대를 했다. (전공과목 중에 컴퓨터네트워크 과목이 있지만 입대 전엔 거기에 별로 흥미를 못 느껴 배워볼 생각을 전혀 하지 않았다.) 업무를 하다보니 네트워크에 관심이 좀 생겼고, 공부를 하면 도움이 될까 싶어 책을 구매했다. 이 글에서는 OSI 7계층을 공부하면서 요약한 것들을 정리해볼 생각이다. OSI 7계층이란?컴퓨터가 통신을 하기 위해 필요한 것을 7개 계층으로 분리해놓은 ISO(국제표준화기구)가 정한 표준이다. 표준이 왜 필요한가? 통신 ..

공부/네트워크 2025.01.28

1. 전투의 심리학 [책 요약] 4부 - 전투의 대가 + [책 후기]

4부 - 전투의 대가  디브리핑이란 전투 상황을 겪은 후 대화를 통해 고통을 나누고 치유하는 방법이다. 누군가를 죽인 후 "그게 나였을 수도 있었어" 하는 죄책감은 많은 이들을 고통받게 하지만, 그게 자연스럽고 정상적이라는 것을 알기만 해도 도움이 된다. PTSD는 생사가 걸린 상황에서 강력한 교감신경 반응을 엮고 이후에도 지속적으로 스트레스를 재경험하며 트라우마 관련 자극을 회피하게 되는 걸 말한다. 이 때 PTSD를 경험하는 사람들은 감정의 벽을 쌓고 스스로를 고립시킨다.  디브리핑은 강제적으로 참여시키기보단 자발적으로 참여시켜야 하는데, 다만 전사들에겐 참석할 도덕적 의무가 있다. 스트레스를 방치하면 본인에게 해로울 뿐만 아니라 주변인들에게 피해를 끼치고 가정을 파탄내기도 한다. 따라서 디브리핑에 ..

공부/독서 2025.01.27

백준 32715: 십자가 찾기

https://www.acmicpc.net/problem/32715  십자가의 중심이 되는 점을 찾고자 한다.가로줄을 전부 순회하면서 한 점을 중심으로 좌우로 연속으로 2K+1개 칸이 색칠되어 있는 것들을 찾아 십자가 중심의 후보로 넣는다.세로줄도 똑같이 순회하면서 후보를 찾는다.이때 겹치는 것이 십자가의 중심이 된다. 특정 점을 중심으로 가로로도 세로로도 2K+1개 칸이 색칠되어 있는 점을 말하는 거다. #include using namespace std;typedef long long ll;int main(){ ll n,m,k; cin>>n>>m>>k; int a[3100][3100];//색칠 여부를 배열로 저장 ll ans=0; for(ll i=0;i>a[i][j]; ..

problem solving 2025.01.27