전체 글 34

[Data Structure] Hash Map

알고리즘 스터디 중, '해시맵'이라는 친구를 계속 만나게 된다. 해시맵을 몰라도 문제가 풀리지만, 마음 한편에 불편함을 없애보자.해시맵(HashMap)해시맵은 key(키)와 value(값)의 쌍으로 데이터를 저장하는 자료구조이다.key (키): 데이터를 찾기 위한 고유한 식별자 (중복 불가)value (값): 실제 저장하려는 데이터 (중복 가능)이때 key만 알면 value가 있는 위치를 즉시 찾는다. 즉 시간복잡도가 O(1)이다. 해싱(Hashing)해시 함수(Hash Function) 덕분에 많은 데이터 중에서 원하는 것을 즉시 찾을 수 있다.Input: 사용자가 key를 입력한다.Hashing: 해시 함수가 이 key를 받아서 고유한 정수값(해시 코드)으로 변환한다. 그리고 이 숫자를 배열의 크기..

CS/Data Structure 2026.01.08

Python 입문 4개월 차, 백준 골드 진입

1. Introduction 지난 2025년 9월에 처음으로 파이썬 잡았다. 여름에 무작정 인공지능전공을 부전공으로 신청하고 컴공에 뛰어들었다. 아는 것이라고는 고작 Matlab을 잘 사용하기 위한 제어문 밖에 없었다. 컴공 학생들 사이에서 짓밟히지 않을까 걱정되긴 했지만, 나의 패기를 믿고 그냥 들어갔다. 2. Environment Analysis AI가 무엇인지도 모르는 상태에서 AI 프로그래밍 수업을 듣게 되었다. 첫 수업은 OT이므로 특별한 건 없었으나 다들 랩탑을 들고 다니는 모습이 꽤나 인상적이었다. 마치 암묵적 합의가 있었다는 듯 랩탑으로 무언가를 열심히 하는 모습이 당황스럽기도 했다. 내가 들고 다니는 건 아주 무거운 종이책 몇 권과, A4 용지 몇 장, 필기구가 끝이었다. 전통적인 수학과..

비밀글/일기 2026.01.08

[Python] 프로그래머스 68935 : 3진법 뒤집기

1. Problem Linkhttps://school.programmers.co.kr/learn/courses/30/lessons/68935 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 2. Solution Codedef solution(n): import math m = 3 idx_max = int(math.log(n)/math.log(3)) digits = [] for i in range(idx_max, -1, -1): digits.append(n//3**i) n %= 3 ** i val = sum([digits[-i] * 3 ** (idx_max+..

[Python] 백준 1158, 11866 (자료구조: 덱) 요세푸스 문제

1. Problem Linkhttps://www.acmicpc.net/problem/1158 2. Solution Coden, k = map(int, input().split())arr = list(range(1, n + 1))result = []index = 0for _ in range(n): index = (index + k - 1) % len(arr) result.append(arr.pop(index))print(f"{', '.join(map(str, result))}>") 3. Reasoning 실은 첫 시도를 리스트의 k-1번째 인덱스를 기준으로 슬라이싱을 하여 뒤로 붙이는 방법으로 하려고 했으나, n이 5000까지 주어진 것을 보고 직관적으로 시간초과를 마주하게 될 것이라 생각하여 ..