본문 바로가기

hash6

프로그래머스 | 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 | 단순구현, Hash | 개인정보 수집 유효기간 (Lv.1) https://school.programmers.co.kr/learn/courses/30/lessons/150370 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krdef solution(today, terms, privacies): def date_to_days(date): # 날짜를 총 일수로 변환 year, month, day = map(int, date.split(".")) return year * 12 * 28 + month * 28 + day # 오늘 날짜를 일수로 변환 today_days = date_to_days(today) # 약관.. 2025. 2. 18.
프로그래머스 | Python | 단순구현, Hash | 신고 결과 받기 (Lv.1) https://school.programmers.co.kr/learn/courses/30/lessons/92334 def solution(id_list, report, k): # 1. 중복 신고 제거 report_set = set(report) # 2. 신고당한 횟수를 저장하는 딕셔너리 report_count = {user: 0 for user in id_list} # 3. 신고 내역을 저장하는 딕셔너리 (set 사용으로 중복 방지) report_history = {user: set() for user in id_list} # 4. 신고 내역 처리 for entry in report_set: reporter, reported = entry.split.. 2025. 2. 13.
프로그래머스 | Python | 단순구현 | 공원 산책 (Lv.1) https://school.programmers.co.kr/learn/courses/30/lessons/172928 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  이 문제는 시뮬레이션 문제로, 주어진 경로(routes)에 따라 로봇 강아지가 이동하는 것을 구현하는 문제입니다.1️⃣ 핵심 개념 및 접근 방식격자 이동: 2차원 배열(공원 park) 내에서 이동을 시뮬레이션해야 함.조건 체크:이동할 위치가 공원을 벗어나는지 확인이동하는 경로 중 장애물('X')이 있는지 확인위 조건 중 하나라도 만족하면 해당 명령은 무시하고 다음 명령을 수행시작 지점(S) 찾기: 공원에서 S의 위치를 먼저 찾아야 함.2️⃣.. 2025. 2. 13.
프로그래머스 | Python | 해시 | 전화번호 목록 (Lv.2) https://school.programmers.co.kr/learn/courses/30/lessons/42577 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 정답코드def solution(phone_book): # 1. 전화번호를 정렬 phone_book.sort() # 2. 접두사 여부를 확인 for i in range(len(phone_book) - 1): if phone_book[i + 1].startswith(phone_book[i]): return False return True생각의 흐름 정리1. 문제 이해전화번호부에 있는 번호 .. 2025. 2. 9.
프로그래머스 | Python | 해시 | 의상 (Lv.2) https://school.programmers.co.kr/learn/courses/30/lessons/42578 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr정답코드from collections import Counterdef solution(clothes): # 의상 종류별로 개수 세기 counter = Counter([category for _, category in clothes]) # 조합의 수 계산 (각 카테고리별 의상 수 + 1(선택하지 않는 경우)) combinations = 1 for count in counter.values(): comb.. 2025. 2. 9.