_

Always be tactful

728x90

분류 전체보기 55

[Python] 연결리스트: 노드가 주소를 가리킨다고?

노드 연결리스트에서 노드는 데이터의 한 단위를 의미한다. 각 노드는 메모리에서 별도의 위치를 차지하기 때문에 노드마다 고유한 메모리 주소가 할당되어 있다. 노드의 구조를 살펴보면 해당 노드가 저장한 데이터와 다음 노드를 가리키는 포인터(next) 요소를 찾아볼 수 있다.class Node: def __init__(self, data): self.data = data self.next = None 노드 생성 왼쪽 노드의 메모리 주소가 "1202243114115"이고 오른쪽 노드의 메모리 주소가 "1202243112121"이라고 가정하자. "zun"이라는 데이터를 지닌 왼쪽 노드의 포인터가 오른쪽 노드의 메모리 주소인 "1202243112121"를 저장한다면 어떨까? 두 노드가..

[Python] 백준 10809번: find()는 인덱스만 반환하는가?

문제 알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다.baekjoon 출력 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출력한다. 단어의 첫 번째 글자는 0번째 위치이고, 두 번째 글자는 1번째 위치이다.1 0 -1 -1 2 -1 -1 -1 -1 4 3 -1 -1 7 5 -1 -1 -1 -1 -1 -1 ..

[Python] BOJ 10809: Does the find() return only the index?

Problem You are given a word S composed only of lowercase letters. For each letter of the alphabet, output the position of its first occurrence in the word if it is present; if it is not present, output -1. Input The first line contains the word S. The length of the word does not exceed 100, and it consists only of lowercase letters.baekjoon Output For each letter of the alphabet, output the pos..

[Python] 배열: 인덱스의 시작은 0인가, 1인가?

배열 배열은 여러 개의 요소를 저장할 수 있는 일종의 자료구조이다. 연결된 빈칸 위의 숫자는 각각의 인덱스를 뜻하며, 우리가 흔히 알고 있는 모든 프로그래밍 언어에서 배열의 인덱스는 0부터 시작한다. 슬라이싱의 경우 마지막 인덱스에 해당하는 값은 결과에서 제외시킨다. 이해를 돕기 위해 이를 인덱싱의 "이상:미만 규칙"이라고 표현하겠다.  이러한 "이상:미만 규칙"으로 작동하는 이유는 가장 효과적이기 때문이다. 일단, 시작 인덱스를 포함하는 "이상" 구조가 시작 숫자를 직관적으로 표현해 범위의 시작을 명확히 한다. 이어서, 끝 인덱스를 포함하지 않는 "미만" 구조는 시퀀스의 연속을 표현하기 위해 불가피하면서도, 시퀀스의 길이를 직관적으로 알아낼 수 있도록 만드는 장점을 지닌다. 배열의 인덱스가 1이 아닌 ..

[Python] 백준 3052번: "{}"은 집합? 딕셔너리?

빈 리스트 생성의 경우 리스트에 어떠한 값을 추가할 예정이라고 하더라도, 프로그램이 정상적으로 작동하기 위해서는 해당 리스트를 미리 생성해 초기화해 놓아야 한다. 파이썬에서 빈 리스트는 기본적으로 "[]"을 입력해 생성한다. 아래 두 코드들은 실제로 내가 백준 문제를 풀며 리스트를 초기화한 사례이다.# https://www.acmicpc.net/problem/10871import sysN, X = map(int, sys.stdin.readline().split())A = list(map(int, sys.stdin.readline().split()))less_than = []for i in A: if i # https://www.acmicpc.net/problem/2562import sysinputs..

[Python] 주요 데이터 타입

숫자형int: 정수 값a = 10b = -29result = a + bprint(result)-19float: 부동소수점 값a = 0.0b = -10.29result = a - bprint(result)10.29complex: 복소수a = 1 + 2jb = 3 - 4jresult = a * bprint(result)(11+2j) 복소수의 허수 부분을 나타낼 때 i가 아닌 j를 사용한 이유는 파이썬에서 i는 주로 반복문에서 인덱스 변수로 많이 사용하기 때문에 혹시 모를 혼동을 줄이기 위함이다.시퀀스 자료형str: 문자열text = "Try Anything, Come True"print(text[:12])Try Anythinglist: 순서가 있고 변경 가능한 리스트languages = ["Java", "J..

728x90