1-4 2번째풀이 관련
1. 현재 학습 진도
몇 챕터/몇 강을 수강 중이신가요? 1-4 알고리즘 친해지기
def find_max_num(array):
max_num = 0
for i in range (len(array)):
if array[i] > max_num :
max_num = array[i]
return max_num
print("정답 = 6 / 현재 풀이 값 = ", find_max_num([3, 5, 6, 1, 2, 4]))
print("정답 = 6 / 현재 풀이 값 = ", find_max_num([6, 6, 6]))
print("정답 = 1888 / 현재 풀이 값 = ", find_max_num([6, 9, 2, 7, 1888]))
저는 다음과 같이 풀어봤는데 선생님께서 푸신것과
최대값을 갱신해서 구한다는점이 같았는데
gpt에게 물어보니 다음풀이는 배열의 인덱스를 순회하는 방식이고 강의 풀이는 배열의 값을 순회하는 방식이라고 하는데
둘방식이 차이가 있는지? 다르다면 어떠한 경우에 값을 순회하고 ,인덱스를 순회하는지 궁금합니다.
답변 1
1
안녕하세요 영준님! 좋은 질문 감사합니다 __
넵 두개의 방식은 다릅니다!
배열은 연속적인 자료형태를 담아놓는 자료구조입니다.
제 파이썬 강의에서는 이를 서랍장이라고 비유해서 설명하고 있습니다.
마치 서랍장의 첫번째 칸에는 A, 두번째 칸에는 B 처럼 자료들을 연속적으로 저장해놓는 것입니다.
그런데 컴퓨터의 경우에는 첫번째 두번째라고 일컫는 것이 아닌, 순서를 0부터 시작한다는 특징이 있습니다.
컴퓨터에서 부르는 순서를 바로 인덱스라고 부릅니다.
따라서 "첫번째 칸에 A 가 있다" 가 아니라 "0번째 인덱스에 A가 있다" 라고 부르는 것과 마찬가지입니다.
그렇다면, 저희는 배열(서랍)에 들어가 있는 값들을 어떻게 말할 수 있을까요?
배열에 들어가 있는 것은 A, B 입니다.
array = ["A", "B"]
이렇게 되어있다면, 0번째 인덱스의 값은 array[0] 으로 조회할 수 있는데 이 값이 바로 A 입니다.
즉, 우리는 인덱스를 이용해서 배열의 원소 값들을 일일이 조회할 수 있는 것입니다.
이렇게 array[0], array[1] 처럼 배열의 값을 조회하는 방식을 반복문을 이용해서 표현할 수 있습니다.
반복문을 사용하는 방식은 크게 두가지가 있는데, 영준님이 질문해주신 것처럼 인덱스를 이용하는 방법과 값을 이용하는 방법이 있습니다.
for i in range(len(array)):
if array[i] > max_num :
max_num = array[i]해당 코드의 경우, len(array) 만큼의 길이 구간들을 i에 넣어주는 인덱스를 뽑아내는 방식이고,
for num in array:
if num > max_num:
max_num = num해당 코드의 경우에는 배열 내의 원소 값을 num 에 넣어주는 값을 뽑아내는 방식입니다.
한 번, for 문을 직접 작성해보고, 출력해보시면 그 차이를 더 극명하게 이해하실 수 있을거에요!
또 질문있으시면 편하게 질문해주세요 __
수강평 이벤트
0
33
2
코딩테스트 처음인데 이런 공부방법이어도 괜찮을까요
0
66
2
3-3 정렬-2 선택정렬 로직
0
42
2
링크드 리스트 끝에서 k번째 값 출력하기
0
45
2
LinkedList 과제 Fast, slow 포인터
0
50
2
투포인터 시간복잡도
0
52
2
수강평 작성 후 자료
0
53
2
수업교재 링크 오류
2
114
2
프로그래머스에서 제출 후 채점시 틀림ㅠ
0
130
2
1-10 알고리즘 더 풀어보기(2) 질문 있습니다
0
74
2
문제 풀이 방식 관련 질문입니다!
0
85
2
1-5 알고리즘과 친해지기 (2) - 최빈값찾기 질문 있습니다
0
91
2
수업자료 pdf 받고싶습니다
0
106
2
강의 자료 오류 수정
0
75
1
2-10 더하거나 빼거나 관련 질문입니다
0
63
2
3-8 해쉬 -2
0
49
2
Linked List Element Delete Explanation Problem
0
68
2
강의3-4 스택 탑 문제
0
74
2
코드스니펫 입출력 케이스에 오류가 있는것 같아요
0
99
3
링크드 리스트 원소 찾기 구현 방식 질문드립니다.
0
75
2
1874 - 스택 문항
0
81
2
DP Java 예제 자료형 오버플로우 문제
0
100
2
4-9 4주차 숙제중 농심라면 문제
0
111
2
DFS 에서 스택을 사용하는 이유
1
187
3





