분류 전체보기 33

[장문 주의]Big 5의 30개 하위 척도 Z점수 기반으로 상위 요인의 Z점수 그리고 RMSD 구하는 Python 소스 코드를 만들어 봅니다.

Big 5(NEO-PI-R)는 간단하게 설명하면 심리학자 폴 코스타(Paul Costa Jr.)와 로버트 매크레이(Robert R. McCrae)가 개발한 성격 스펙트럼 테스트(MBTI처럼 유형 테스트 아닙니다!)입니다.두문자어 빌려서 OCEAN 혹은 SLOAN이라고도 부릅니다. 원본 논문을 보고 싶다면 여기에 들어가셔서 다운로드 받으시면 됩니다. 성격 5가지 상위 요인은 다음과 같습니다.1. 개방성(O, Openness to Experience)2. 성실성(C, Conscientiousness)3. 외향성(E, Extraversion)4. 우호성(A, Agreeableness)5. 신경성(N, Neuroticism) 원본 논문에 존재하는 글들을 근거로 두어서 5가지 상위 요인들을 워크넷 정의(직업 선호..

[알고리즘 설명][Python] set, dict로 그래프 구현 및 그래프 탐색하기

이 게시글은 CS(컴퓨터공학) 프로그래밍 기초를 어느 정도 알고 있다고 가정하고 아주 간단하게 설명하는 게시글입니다.혹시나 모르는 부분이 있으면 댓글로 질문해주세요. 한 줄 요약 : 만약 노드 번호가 매우 큰데 노드 개수가 적은 희소 그래프(sparse graph)이라면 dict로 그래프 선언하고, set으로 방문 체크 여부를 확인합니다. 우선 해당 그래프를 Python 소스 코드로 구현합니다.N = 4# 무방향 그래프이므로 양방향 edge 추가def two_way_edges(u:int, v:int) -> None : graph[u].append(v) graph[v].append(u) returngraph:list = [[] for _ in range(N + 1)]edges:str = "..

[알고리즘 설명][Python] 깊이 우선 탐색(dfs)

이 게시글은 CS(컴퓨터공학) 프로그래밍 기초를 어느 정도 알고 있다고 가정하고 아주 간단하게 설명하는 게시글입니다.혹시나 모르는 부분이 있으면 댓글로 질문해주세요. 한 줄 요약 : 말 그대로 깊이(depth) 우선 탐색이며 더 깊은 노드부터 탐색하는 알고리즘입니다. 스택 자료구조로 구현할 수 있습니다.그냥 현실적으로 비유하면 땅굴 파기라고 생각하시면 됩니다. 더 깊은 동굴이 있으면 들어가서 파고, 더 이상 더 깊은 동굴이 없으면 다시 올라옵니다. 이전에 그래프 이론에서 그래프가 뭔지 초간단하게 알아봤고 그래프 탐색에서 그래프에 방문 여부 체크 리스트를 추가하여 그래프 정점 혹은 간선 안에 있는 정보들을 탐색했습니다. 그래프 탐색에서 만약 선형 그래프가 아닌 경우 깊이 우선 탐색과 너비 우선 탐색이 있는..

[알고리즘 설명][Python] 그래프 탐색(graph search)

이 게시글은 CS(컴퓨터공학) 프로그래밍 기초를 어느 정도 알고 있다고 가정하고 아주 간단하게 설명하는 게시글입니다.혹시나 모르는 부분이 있으면 댓글로 질문해주세요. 한 줄 요약 : 그래프 탐색은 말 그대로 그래프 탐색입니다. 그래프 안에 있는 정보들을 잘 탐색하면 됩니다. 그리고 방문 여부 리스트를 꼭 추가해주세요. 그래프 탐색은 무엇일까요?기존 그래프 이론에서 방문 여부 기능을 추가해서 그래프 안에 있는 정보들을 탐색하는 것입니다.설마 여기서 bfs와 dfs 나와서 이 게시글이 어려울 것 같다고 생각했나요?아니요, 여기 게시글에는 bfs와 dfs는 나중에 따로 설명하고 여기서는 방문 여부 체크만 확인할 것입니다. 그러므로 복잡한 그래프 탐색 방법은 다음에 bfs, dfs 설명하는 과정에서 알려주기로 ..

[알고리즘 설명][Python] 그래프 이론(graph theory)

이 게시글은 CS(컴퓨터공학) 프로그래밍 기초를 어느 정도 알고 있다고 가정하고 아주 간단하게 설명하는 게시글입니다.혹시나 모르는 부분이 있으면 댓글로 질문해주세요. 한 줄 요약 : 그래프는 정점(node)과 간선(edge)로 이루어진 자료 구조입니다. 그리고 그래프는 인접 리스트와 인접 행렬로 구현할 수 있습니다. 참고 사이트 : https://csacademy.com/app/graph_editor/ CS Academy csacademy.com이 사이트를 참고해서 그래프 사진들을 만들었습니다. 우선 그래프 자료 구조가 무엇일까요?https://ko.wikipedia.org/wiki/%EA%B7%B8%EB%9E%98%ED%94%84_(%EC%A1%B0%ED%95%A9%EB%A1%A0)여기 있는 사이트가 ..

[알고리즘 설명][C++, Python] 비트마스킹(bit mask)

이 게시글은 CS(컴퓨터공학) 프로그래밍 기초를 어느 정도 알고 있다고 가정하고 아주 간단하게 설명하는 게시글입니다.혹시나 모르는 부분이 있으면 댓글로 질문해주세요. 한 줄 요약 : 비트마스킹은 말 그대로 0과 1로 이루어진 비트(bit) 단위로 연산하는 알고리즘이며, and, or, xor, not 연산으로 이루어져 있습니다. EE 분야 전공자라면 알겠지만 디지털 논리 회로에서 논리게이트 종류로 AND, OR, NOT, XOR 아시죠?CS 분야에서는 비트마스킹으로 여러 개의 비트들을 한꺼번에 연산합니다. 그래도 여기 비전공자들이 있을 수 있으니 and, or, not, xor 연산을 초간단하게 알려드리겠습니다.더보기[AND 연산]Y = A & BA와 B가 모두 1이어야 출력 Y도 1이고 둘 중 하나라도..

[잡담] 하... 대학원 가고 싶어도 가기가 너무나 어려운 것이 현실이구나...

제 전공은 전자공학과입니다.하지만 최근에 전기전자공학과(EE 분야)로 통합되었으니 편의상 EE 전공자로 하겠습니다. 이 때까지 제가 취득한 자격증 목록입니다.[자격증 취득 목록](유의미한 것만)- 전자산업기사(2018년 2회차 동회차 합격)- 전기기사(2021년 3회차 동회차 합격)- 전기공사기사(2021년 4회차 동회차 합격)- 소방설비기사(전기 분야)(2022년 2회차 동회차 합격)- 위험물산업기사(2022년 2회차 필기 합격 2022년 4회차 실기 합격)- 소방설비기사(기계 분야)(2022년 4회차 필기 합격 2023년 1회차 실기 합격)- 산업안전기사(2023년 3회차 필기 합격 2024년 3회차 실기 합격)- 정보처리기사(2025년 2회차 동회차 합격) 그리고 과거 블로그에서 깃허브 커밋 기록을..

백준 지애 상수(22222번) 정답 소스 코드(Python)

원본 링크 : 지애 상수 원본 링크문제 내용 : 지애 상수 - JUNGOLimport sysimport mathimport decimalimport time# 일부 파이썬 버전에서 안전장치try: sys.set_int_max_str_digits(1_000_000)except Exception: pass# -----------------------------# (0) 공용 유틸 (정수 반올림)# -----------------------------def div_round(num: int, den: int) -> int: """Half-up rounding for integer division.""" if den == 0: raise ZeroDivisionError i..

에라토스테네스의 체를 비트마스킹으로 최적화 해보자.(Python, C++)

이런 의문이 들었어요.제가 이번에 업로드한 에라토스테네스의 체를 보면 소수 리스트 구하는 과정에서 오직 True, False만으로 구현되어 있는 것을 보게 됩니다. 그리고 True와 False는 각각 1과 0이겠죠?그래서 저는 이런 생각이 들었어요. "이거 잘 생각해보니 bitset 형식으로 저장하면 되지 않을까?" 예시로 n = 7이라고 가정합니다.그러면 bit = (1 bit = 0b11111111이 됩니다.여기서 0과 1은 소수가 아니므로 0b11111100이 됩니다.이 때 0b11111111 & ~(0b00000011) = 0b11111111 & 0b11111100 = 0b11111100이니 2^0 자리와 2^1이 0이 된 것을 볼 수 있습니다.그리고 에라토스테네스의 체 알고리즘에 따라 2^2 자..

[알고리즘 설명][Python] 에라토스테네스의 체(Sieve of Eratosthenes)

이 게시글은 CS(컴퓨터공학) 프로그래밍 기초를 어느 정도 알고 있다고 가정하고 아주 간단하게 설명하는 게시글입니다.혹시나 모르는 부분이 있으면 댓글로 질문해주세요. 한 줄 요약 : 자연수 N 이하의 모든 소수들을 구해주는 알고리즘입니다. 소수 판정에서 해당 자연수가 소수인지 아닌지 판별하는 알고리즘을 초간단하게 설명했어요.그런데 저는 이런 의문이 들었습니다."그러면 여러 개의 수들의 소수 판별은 어떻게 해야 하지?"그래서 1부터 N까지 모든 자연수들 중에서 소수인 것만 추출하고 싶어요.제가 알고리즘 공부하다가 이런 알고리즘을 본 적이 있습니다."에라토스테네스의 체" 하지만 지금 보니 그냥 초간단하게 생각해보면 "아하! 그냥 소수들을 다 구해주는 개쩌는 알고리즘이구나!"입니다.오늘 그 멋진 알고리즘을 초..