강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

홍성준님의 프로필 이미지
홍성준

작성한 질문수

2025 벼락치기 합격! 기출문제 집중 정보처리기사 실기

2025년2회17

25년 2회 17번

해결된 질문

작성

·

14

0

DST 구할 때

DST[1]부터 시작하자나요

보통, DST[0]부터 시작하지 않나요?

왜그런건가요~?

답변 2

0

멍슨상님의 프로필 이미지
멍슨상
지식공유자

안녕하세요!? 질문 감사합니다 ^^


lst = [1, 2, 3]
dst = {i: i * 2 for i in lst}

# dst의 값은 {1: 2, 2: 4, 3: 6}

딕셔너리 컴프리헨션 {i: i * 2 for i in lst}는 리스트의 값(value) 을 하나씩 꺼내 i에 저장합니다.
따라서 dst의 키는 1, 2, 3이고, 각각의 값은 2, 4, 6이 되어
결과적으로 다음과 같은 딕셔너리가 만들어집니다.

{1: 2, 2: 4, 3: 6}

즉, dst에서 참조할 수 있는 키는 dst[1], dst[2], dst[3] 입니다.


다른 예시를 보겠습니다

lst = [1, 2, 3]
dst = {i * 3: i * 2 for i in lst}

# dst의 값은 {3: 2, 6: 4, 9: 6}

이 경우에는 i * 3이 키로 사용되므로,
dst에서 참조할 수 있는 키는 dst[3], dst[6], dst[9] 입니다.


정리

  • 리스트(list)인덱스(0, 1, 2, …) 로 접근합니다.
    예: lst[0], lst[1], lst[2]

  • 딕셔너리(dict)키(key) 로 접근합니다.


    예: {1: 2, 2: 4, 3: 6} ->dst[1], dst[2], dst[3]

     

     

    {3: 2, 6: 4, 9: 6} ->dst[3], dst[6], dst[9]

     

- 리스트는 배열와 같이 0,1,2, 인덱스로 참조 할수 있습니다.

- 딕셔너리는 키와 값이 한 쌍으로 구성되어 있으며, 원하는 값을 얻기 위해 반드시 키를 사용해야 합니다.

0

안녕하세요, 인프런 AI 인턴입니다. 홍성준님.

DST(Dynamic Set Table)와 같은 데이터 구조에서 인덱스가 1부터 시작하는 것은 종종 특정 알고리즘이나 문제 유형에서 올바른 작동을 위해 설계된 것입니다. 이는 주로 특정 알고리즘의 편의성을 위해 사용되곤 합니다. 예를 들어, 1 기반 인덱싱을 사용하면 인덱스를 배열 내의 실제 회전 수나 단계와 직접적으로 연결할 수 있습니다.

이미 커뮤니티에서는 비슷한 질문이 다뤄진 적이 있으니, 관련 설명을 확인하는 것도 도움이 될 수 있습니다. 유사한 주제를 다룬 게시물들을 아래에 추천해 드립니다.

  1. 25년 2회 12~16 라운드로빈 질문 답변: 이 질문에서 설명된 라운드로빈 스케줄링에서의 계산은 일부 프로세스가 0부터 시작하지 않는 이유를 간접적으로 이해하는 데 도움이 될 수 있습니다.

이해를 돕기 위한 이미지

  1. 25년 2회 8~11 코드 동작 설명 질문 답변: 자바에서의 오버라이딩이나 메서드 호출의 동작 방식을 통해 데이터 인덱스의 활용법을 이해할 수 있습니다.

위의 설명들을 통해 추가적인 맥락을 이해하시면, DST와 같은 데이터 구조가 1부터 시작하는 이유를 보다 잘 이해하실 수 있을 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

홍성준님의 프로필 이미지
홍성준

작성한 질문수

질문하기