다른 언어를 사용할 경우
244
작성한 질문수 2
안녕하세요.
알고리즘 문제를 파이썬 언어를 사용해서 공부하고있는데,
동적배열 강의에서 말씀해주신 push_back(), pop_back()과 같은 메서드는 C++ 에서만 사용 가능해서
해당 강의는 어디까지만 이해하고 넘어가야할지,
push_back()과 같은 기능을 하는 함수가 파이썬에도 있는지 찾아보며 강의를 들어야하는지..
다른 언어로 준비할 때 어디까지 이해하고 적용해야하는지에 대한 감이 안잡혀(?) 문의 드립니다.
답변 1
0
안녕하세요 ㅎㅎ
push_back()과 같은 기능을 하는 함수가 파이썬에도 있는지 찾아보며 강의를 들어야하는지..
다른 언어로 준비할 때 어디까지 이해하고 적용해야하는지에 대한 감이 안잡혀(?) 문의 드립니다.
>>
python 등 다른 언어를 하나이상을 아신다면 이정도의 C++언어는 쉽게 이해하실 것 같습니다.
다만 이해가 안되신다면
그냥 앞에 집어넣는다 또는 뒤에 집어넣는다 의미만 이해하고 넘어가셔도 되긴하지만... 저한테 질문을 주셔서 이해를 하고 C++를 한번 테스팅하고 넘어가는게 좋을 것 같습니다.
즉, 이정도의 C++언어는 이해 + python과 대응해서 공부하시는게 좋을 것 같습니다.
예를 들어 다음의 코드는.
#include <bits/stdc++.h>
using namespace std;
list<int> a;
void print(list <int> a){
for(auto it : a) cout << it << " ";
cout << '\n';
}
int main(){
for(int i = 1; i <= 3; i++)a.push_back(i);
for(int i = 1; i <= 3; i++)a.push_front(i);
auto it = a.begin(); it++;
a.insert(it, 1000);
print(a);
it = a.begin(); it++;
a.erase(it);
print(a);
a.pop_front();
a.pop_back();
print(a);
cout << a.front() << " : " << a.back() << '\n';
a.clear();
return 0;
}def print_list(a):
for item in a:
print(item, end=" ")
print()
def main():
a = []
# C++의 push_back에 해당하는 파이썬 코드
for i in range(1, 4):
a.append(i)
# C++의 push_front에 해당하는 파이썬 코드
for i in range(1, 4):
a.insert(0, i)
# 특정 위치에 요소 삽입
a.insert(1, 1000)
print_list(a)
# 특정 위치의 요소 제거
del a[1]
print_list(a)
# 맨 앞과 맨 뒤의 요소 제거
a.pop(0)
a.pop()
print_list(a)
# 리스트의 맨 앞과 맨 뒤의 요소 출력
print(a[0], ":", a[-1])
# 리스트 비우기
a.clear()
if __name__ == "__main__":
main()
다음 처럼 python 코드로 나타낼 수 있습니다.
또한 대응을 한다면 다음과 같습니다. 이부분 참고해서 공부하시면 될 것 같습니다.
push_front = insert
erase = del
clear = clear
pop_back = pop()
pop_front = pop(0)
그리고 수강생님 말씀을 좀 생각해봤는데요.
python을 배웠어도 어려워할 수 있을 것 같아서
추후 C++ 이외에 다른 언어로도 포팅 -> 제공해서 쉽게 공부할 수 있도록 교안에 추가하도록 하겠습니다.
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.
REST API (Self-descriptive messages)
0
28
1
시스템 엔지니어 관련 질문입니다.
0
52
2
오버라이딩 관련하여 질문드립니다.
0
62
2
교착상태의 4가지 필요조건이 필요충분조건이 아닌 이유
0
91
1
렌더 트리, 렌더 레이어와 그래픽 레이어
0
57
2
로컬스토리지, 세션스토리지, 쿠키의 공통점
0
68
1
IPv4가 IPv6보다 빠른 경우
0
101
2
UDP가 전송계층의 역할을 못하는 건 아닌지
0
59
1
Path MTU 발견하였음에도 패킷 분할이 필요한 이유?
0
65
2
교재의 LFU 알고리즘에서 6번이 왜 히트인가요?
0
64
2
페이지 교체 알고리즘? 프레임 교체 알고리즘?
0
83
2
Static 키워드가 메모리에 올라가는 시점
0
77
2
헤더 압축부분 질문드립니다
0
73
2
공유 캐시 관련 질문 드립니다.
0
56
2
컨텍스트는 context와 contextual information으로 나눠진다는게 무슨뜻인가요?
0
200
1
회선과 대역폭의 관계
0
62
2
44강 질문
0
94
2
버스 토폴로지 질문 있씁니다
0
55
1
자바스크립트, xml 문법 관련
0
66
2
전략패턴과 의존성주입 질문
0
69
2
Model이 비즈니스 로직을 담당하나요?
0
106
2
CS 공부 하는 법
0
181
2
큰돌님 블로그에 개념정리해서 올려도될까요!
0
137
2
FIN 세그먼트 질문
0
70
2





