Uknow's Lab.
article thumbnail
[알고리즘] 이분 매칭 (Bipartite Matching)
CS 지식/알고리즘 2024. 1. 18. 22:54

이분 매칭을 간단히 이야기하면 연애 매칭 프로그램입니다. 남과 여 두 그룹이 있고, 남 -> 여 혹은 여 -> 남으로 맘에 드는 이성을 골랐을 때, 커플이 가장 많이 매칭되는 경우를 찾는 것이지요. 좋은 예시가 없을까 하며 돌아다니다가, MIT 오픈 코스 유튜브에서 남과 여를 매칭하는 걸 예로 들길래 이거다! 하고 참고해서 포스팅해봤습니다. https://www.youtube.com/watch?v=HZLKDC9OSaQ&ab_channel=MITOpenCourseWare 이분 그래프 이분 그래프는 k분 그래프의 일종으로 k=2인 경우의 그래프입니다. k분 그래프는 아래와 같이 나타낼 수 있는데요. 집합 V(i), V(j) 가 있다고 했을 때 쉽게 말해서 간선의 양 끝은 서로 다른 그룹이여야 한다는 의미입니..

article thumbnail
[백준 1939번] [Kotlin] 중량제한
코딩테스트/Kotlin 2024. 1. 18. 17:41

https://www.acmicpc.net/problem/1939 1939번: 중량제한 첫째 줄에 N, M(1 ≤ M ≤ 100,000)이 주어진다. 다음 M개의 줄에는 다리에 대한 정보를 나타내는 세 정수 A, B(1 ≤ A, B ≤ N), C(1 ≤ C ≤ 1,000,000,000)가 주어진다. 이는 A번 섬과 B번 섬 사이에 중량제한이 www.acmicpc.net 난이도 : 골드 3 태그 : 자료 구조, 그래프 이론, 그래프 탐색, 이분 탐색, 너비 우선 탐색, 분리 집합 설명 N개의 섬들은 M개의 다리를 통해 서로 연결 되어있습니다. 각 다리에는 중량 제한이 있고, 중량 제한을 초과할 경우 다리가 무너집니다. 한 번에 이동할 수 있는 중량의 최댓값을 구하는 문제입니다. 가장 빨리 떠오른 생각은 브..

article thumbnail
[혼공컴운] 2주차_CPU의 작동원리

혼공스터디 컴퓨터 구조 + 운영체제 2주차 컴퓨터 구조 + 운영체제 2주차 Chapter 4~5인 CPU편입니다. CPU의 작동원리 ALU와 제어장치 CPU는 메모리에 저장된 명령어를 읽고, 해석하고, 실행하는 장치입니다. ALU는 CPU 내부에서 계산을 담당하는 장치로, 레지스터로부터 피연산자를 받아들이고, 제어장치로부터 제어 신호를 받아들입니다. 피연산자와 제어 신호로 산술 연산 / 논리 연산 등을 수행합니다. 그리고 그 결과값은 바로 메모리에 저장되는 것이 아닌 일시적으로 레지스터에 저장됩니다. CPU가 메모리 보다 레지스터에 접근하는 속도가 더 빠르기 때문입니다. ALU는 계산 결과와 함께 플래그도 보냅니다. 플래그란, 연산 결과에 따른 추가적인 정보로써, 부호, 인터럽트, 슈퍼파이저, 오버플로우..

article thumbnail
프로그래머스 PCCP (코딩전문역량인증) 후기
일상 2024. 1. 10. 17:45

PCCP 코딩전문역량인증시험 프로그래머스에서 주관하는 민간자격증은 PCSQL(SQL), PCCP(전문역량), PCCE(필수역량) 총 3가지가 있습니다. PCSQL은 SQL 역량을 보는 시험이며, PCCE는 빈칸 채우기, 한 줄만 수정하여 맞는 출력을 내도록 수정하기, 백준 브론즈 3~5 단계 문제 등 코딩에 대해 필수적인 역량을 보는 시험입니다. 반면에 PCCP는 전문 역량 인증이라는 말 처럼 알고리즘이나 자료구조 등 충분한 개발 역량을 지니고 있어도, 코딩 테스트를 본격적으로 준비하지 않는다면 다소 어려울 수 있는 문제가 출제됩니다. 프로그래머스 기준으로 2~3레벨, 백준 기준으로는 실버5 ~ 골드1정도 (최적화/효율성 테스트까지 고려하면) 되는 것 같습니다. 시험 언어는 C++, Python, Jav..

article thumbnail
[혼공컴운] 1주차_컴퓨터 구조와 운영체제

들어가기에 앞서 컴퓨터 구조론과 운영체제. 컴퓨터 관련 전공을 한 사람이라면 수강했을 과목입니다. 저 역시 마찬가지로 수강을 하였으나... 사람의 뇌는 휘발성인 법... CS 면접 질문에 대비하기 위함인 것도 있지만 단순 CS 면접 질문 대비를 떠나서 개발자로써 더 나은 개발자가 되고 더 깊게 알기 위해서는 컴퓨터 구조론과 운영체제 지식은 필수라고 생각했기에 다시 한 번 공부해보자는 마음을 갖고 있었습니다. 그러던 중 인스타를 보다가 혼공학습단 11기를 모집한다는 광고를 보고 마침 잘 됬다 싶어 컴퓨터 구조론 + 운영체제를 선택해 지원했더니 선정되었습니다. 다른 도서들에 비해 혼공컴운이 압도적으로 많더라고요... 저와 비슷한 생각을 가진 분이 많았나봅니다. 아무튼 스터디도 참여했겠다, 열심히 해봐야겠네요..

article thumbnail
[백준 10216번] [Kotlin] Count Circle Groups
코딩테스트/Kotlin 2024. 1. 5. 00:23

https://www.acmicpc.net/problem/10216 10216번: Count Circle Groups 백준이는 국방의 의무를 수행하기 위해 떠났다. 혹독한 훈련을 무사히 마치고 나서, 정말 잘 생겼고 코딩도 잘하는 백준은 그 특기를 살려 적군의 진영을 수학적으로 분석하는 일을 맡게 되었 www.acmicpc.net 난이도 : 골드 4 태그 : 자료 구조, 그래프 이론, 그래프 탐색, 기하학, 분리 집합 설명 통신 범위가 직/간접적으로 겹치는 부대는 하나의 부대처럼 행동합니다. 즉, 통신범위가 겹치는 그룹을 모두 같은 그룹으로 묶어 몇 개의 그룹이 나오는지 구하는 문제입니다. 그룹화와 서로 다른 그룹의 개수를 구한다는 점에서 분리집합과 유니온 파인드를 사용할 수 있을 것 같습니다. 분리 집..

article thumbnail
[백준 3184번] [Kotlin] 양
코딩테스트/Kotlin 2023. 12. 30. 00:30

https://www.acmicpc.net/problem/3184 3184번: 양 첫 줄에는 두 정수 R과 C가 주어지며(3 ≤ R, C ≤ 250), 각 수는 마당의 행과 열의 수를 의미한다. 다음 R개의 줄은 C개의 글자를 가진다. 이들은 마당의 구조(울타리, 양, 늑대의 위치)를 의미한다. www.acmicpc.net 난이도 : 실버 1 태그 : 그래프 이론, 그래프 탐색, 너비 우선 탐색, 깊이 우선 탐색 설명 울타리로 분리된 각 구역에 양과 늑대가 있습니다. 양이 더 많다면 늑대를 쫒아낼 수 있고 늑대가 더 많거나 양과 수가 동일하다면 늑대가 양을 다 먹어버립니다. DFS, BFS를 사용한 그룹화 기법을 응용하는 문제입니다. 접근방법 1. 한 점을 대상으로 방문하지 않은 점이라면 해당 점을 DF..

article thumbnail
[백준 21610번] [Kotlin] 마법사 상어와 비바라기
코딩테스트/Kotlin 2023. 12. 27. 16:02

https://www.acmicpc.net/problem/21610 21610번: 마법사 상어와 비바라기 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그 마법을 할 수 있다. 오늘 새로 배운 마법은 비바라기이다. 비바라기를 시전하면 하늘에 비구름을 만들 수 있다. 오늘은 비바라기 www.acmicpc.net 난이도 : 골드 5 태그 : 구현, 시뮬레이션 설명 마법사 상어 시리즈 비바라기 편입니다. 구현 + 시뮬레이션 문제인 만큼 문제에서 주어진 내용을 그래도 구현하면 되는 문제입니다. 요구사항을 정리해보자면, 1. 모든 d(i) 방향으로 s(i) 칸 이동 2. 각 구름에서 비를 내린다 (구름이 있는 칸의 물의 양이 1 증가한다) 3. 물이 증가한 칸에 물복사버그 마법을 시전한다. 3-1. 물복..

article thumbnail
2023년을 돌아보며
일상 2023. 12. 25. 16:41

Good bye! 2023년 2023년도 이제 얼마 남지 않았네요. 2023년은 어떻게 보냈는지, 무슨 일이 있었는지 어떤 성장을 하였는지 회고 겸 일기를 써보려 합니다. 인턴십 프로그램 참여 : Python과 Django를 사용한 백엔드 개발! 올해 초, 동계 방학기간(1~2월) 동안 인턴십 프로그램에 참여를 하게 되었습니다. 벌써 10개월이나 되었네요. 스타트업 특유의 자유롭고 편한 분위기로 인해 금방 적응하고 친해져 인턴십 기간 내내 재밌고 좋은 추억들로 가득했던 것 같습니다. 인턴십 기간 중에는 Python과 Python의 백엔드 프레임워크인 Django로 홈페이지의 백엔드 사이드 개발을 담당하였는데요. D.J.A.N.G.O, The D is Silent. 디. 제이. 에이. 엔. 지. 오. 디는..

article thumbnail
우아한 테크코스 6기 지원 후기
일상 2023. 12. 25. 16:30

우아한 테크코스 6기 우아한 테크코스. 배달의 민족(우아한 형제들)에서 운영하는, 저와 같은 주니어 개발자 사이에서는 너무나도 유명한 부트캠프인데요. 저는 백엔드로 지원하였는데, 모집 인원이 가장 많지만 지원자 수 역시 가장 많은 분야입니다. 우아한 테크코스 백엔드의 지원자 수가 몇 인지는 공개되지 않지만, 1주차 과제 레포지토리의 포크 수로 어느정도인지 대략 가늠은 할 수 있는데요. 포크 수만 2700회네요. 85 : 2700 = 약 1 : 31.7 정도 되는 것 같습니다. ㅎㅎ; 1~4주차 프리코스 후기 우아한 테크코스의 선발과정은 서류(자기소개서) -> 프리코스 -> 최종 미션으로 진행하는데, 가장 큰 비중을 차지하는 건 자기소개서라고 하네요. 자기소개서에는 몰입에 관한 경험, 실패와 극복, 원하는..