딕셔너리 3

[Programmers/Python] 추억 점수

언어 : Python문제 제한 사항 1. 문제 분석사진 속 인물의 이름과 그리움 점수를 기반으로 각 사진의 추억 점수를 계산하는 문제주어진 데이터를 활용하여 각 사진별로 점수를 계산하고, 이를 순서대로 배열로 반환한다.2. 계산 로직name 과 yearning 배열을 매핑하여 딕셔너리를 생성한다각 photo[i] 의 이름이 딕셔너리에 있는 경우 해당 점수를 가져오고, 없는 경우 0으로 처리한다각 사진의 점수를 합산하여 결과 리스트에 저장한다3. 제한 사항 분석name 의 길이와 yearning 의 길이는 항상 동일하다name 에는 중복된 이름이 없으므로 딕셔너리로 변환하기 적합하다name 과 yearning 배열의 길이가 최대 100, photo 배열의 길이가 최대 100, 각 내부 배열의 길이가 최대 ..

[Python] 자료구조 (리스트, 튜플, 딕셔너리, 세트)

Python은 여러 가지 내장 자료구조를 제공해서 데이터 저장, 접근, 수정 등을 쉽게 할 수 있다. 주요 자료 구조는 리스트(List), 튜플(Tuple), 딕셔너리(Dictionary), 세트(Set) 가 있다1. 리스트(List)정의: 리스트는 순서가 있는 변경 가능한 데이터 구조로, 여러 요소를 저장할 수 있다생성 방법: 대괄호 [] 를 사용하거나 list() 함수를 사용한다특징:- 순서가 있어서 인덱스로 접근할 수 있다- 요소를 추가, 삭제, 수정할 수 있다사용 예시fruits = ["apple", "banana", "cherry"]fruits.append("orange") # 요소 추가fruits[1] = "blueberry" # 요소 수정 2. 튜플 (Tuple)정의: 튜플은 순서가 있는 변..

Python/기본 2024.11.09

[Programmers/Python] 달리기 경주

1. 문제 2. 문제분석요구사항 파악:주어진 선수 목록에서 해설진이 부르는 선수(callings) 의 이름에 따라 그 선수가 자기 앞의 선수를 추월하게 해야한다-> callings 리스트를 순회하면서 선수들의 순서를 갱신하고, 최종 순위를 반환한다.시간 복잡도 문제 인식:callings 의 길이가 최대 1,000,000에 달하므로, 단순히 리스트에서 인덱스를 찾아 순서를 변경하는 방식은 O(n*m)의 시간 복잡도를 가지며 시간 초과가 발생할 가능성이 크다따라서, 선수의 위치를 빠르게 조회하고 갱신할 수 있는 방법을 찾아야 한다효율적인 자료구조:선수의 현재 위치를 빠르게 조회하고 수정할 수 있는 자료구조가 필요하다딕셔너리와 리스트를 조합해서 선수 이름을 기준으로 위치를 빠르게 찾고, callings 에 따..