본문 바로가기

분류 전체보기76

프로그래머스 | Python | 단순구현 | [PCCE 기출문제] 10번 / 데이터 분석 (Lv.1) https://school.programmers.co.kr/learn/courses/30/lessons/250121 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr코드def solution(data, ext, val_ext, sort_by): # ext와 sort_by에 해당하는 인덱스 매핑 column_map = {"code": 0, "date": 1, "maximum": 2, "remain": 3} ext_idx = column_map[ext] # 필터링 조건에 해당하는 인덱스 sort_idx = column_map[sort_by] # 정렬 기준에 해당하는 인덱스 .. 2025. 2. 26.
프로그래머스 | Python | Hash | 성격 유형 검사하기 (Lv.1) https://school.programmers.co.kr/learn/courses/30/lessons/118666 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr def solution(survey, choices): # 성격 유형 점수를 저장할 딕셔너리 personality_scores = {char: 0 for char in "RTCFJMAN"} # 선택지에 따른 점수 매핑 score_map = {1: 3, 2: 2, 3: 1, 4: 0, 5: 1, 6: 2, 7: 3} # 각 질문을 순회하며 점수 부여 for (first, second), choice in zip(.. 2025. 2. 19.
프로그래머스 | Python | 그리디, 단순구현 | 키패드 누르기 (Lv.1) https://school.programmers.co.kr/learn/courses/30/lessons/67256 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 개요스마트폰의 숫자 키패드를 사용할 때 왼손과 오른손을 이용해서 숫자를 입력하는 방식을 구현하는 문제입니다. 각 손의 초기 위치는 다음과 같습니다:왼손: *에서 시작오른손: #에서 시작각 손이 이동하는 방식은 아래와 같습니다:왼쪽 열 (1, 4, 7) → 왼손 사용오른쪽 열 (3, 6, 9) → 오른손 사용가운데 열 (2, 5, 8, 0) → 더 가까운 손이 사용거리가 같다면 주 사용 손(왼손잡이/오른손잡이)에 따라 결정우리는 주어진 nu.. 2025. 2. 19.
스레드(Thread)란? 소프트웨어 개발을 하다 보면 "스레드(Thread)"라는 용어를 자주 접하게 됩니다. 특히, 운영체제(Operating System, OS)와 멀티스레딩 프로그래밍에서 중요한 개념입니다. 이번 포스팅에서는 스레드의 개념, 싱글 스레드 vs 멀티 스레드, 장점과 단점, 그리고 실전 예제까지 한 번에 정리해보겠습니다.1. 스레드(Thread)란?스레드는 프로세스(Process) 내에서 실행되는 가장 작은 작업 단위입니다.✅ 프로세스(Process) vs. 스레드(Thread)개념 프로세스(Process) 스레드(Thread)정의실행 중인 프로그램프로세스 내에서 실행되는 작은 작업 흐름독립성서로 독립적 (메모리 공간 분리)같은 프로세스 내에서 메모리를 공유자원 할당별도의 메모리 공간 할당스레드끼리 메모리(He.. 2025. 2. 19.
동기(Synchronous) vs 비동기(Asynchronous)의 의미 차이 📌 동기(Synchronous) vs 비동기(Asynchronous)의 의미 차이1️⃣ 일반적인 영어에서의 뜻Synchronous → 동시에 일어나는Asynchronous → 동시에 일어나지 않는✅ 예를 들어, 두 사람이 똑같이 10시에 줌 미팅을 시작하면➡️ Synchronous Meeting(동기적 회의) ✅ 반대로, 한 명은 10시에, 한 명은 11시에 강의를 듣는다면➡️ Asynchronous Learning(비동기 학습)2️⃣ 프로그래밍에서의 "동기(Synchronous)" 의미프로그래밍에서는 "동시에 실행되는가?"가 아니라 "작업이 끝날 때까지 기다리는가?"가 중요한 개념이에요.✔ 동기(Synchronous):💡 "한 작업이 끝날 때까지 다음 작업을 기다리는 방식"console.log("A.. 2025. 2. 18.
프로그래머스 | Python |단순구현 | 신규 아이디 추천 (Lv.1) https://school.programmers.co.kr/learn/courses/30/lessons/72410 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 이 문제는 문자열 처리(String Processing) 및 정규 표현식(Regex) 활용이 핵심이다.주어진 조건에 맞게 7단계 규칙을 순차적으로 적용하여 유효한 아이디를 반환해야 한다.1. 문제 해결 접근 방법🔹 7단계 처리 과정모든 대문자를 소문자로 변환 → .lower()특수 문자 필터링 → 정규 표현식 re.sub()연속된 마침표(.)를 하나로 치환 → 정규 표현식 re.sub(r'\\.+', '.', new_id)마침표가 처음이나 끝.. 2025. 2. 18.