티스토리 뷰
시리즈도 3편에 도달했으니 빠르게 시작하자
일반적인 순서와는 다를 수도 있겠지만
사실 순서라는거는 학생때나 정해져 있는 것이고
우리는 어른이니까
바로 핵심으로 접근한다
무조건 박사과정 급으로 주제를 정해놓고
모르는 부분이 나오면 그때 그전부터를 보완해나가면 된다
이런 정렬은 컴공 학사과정에서 배우지만
사실 초등학생도 접근할 수 있고
대학생도 어려워할수 있는 내용이다
그러니까 순서나 난이도에 너무 매달리지 말자
다시 보자. 셀렉션 소트 함수를 배열을 받는 것으로 만들어내자. arr 는 array 배열의 약자다
def 는 함수를 선언하기 위한 파이썬 문법이다
이부분을 이 사이트에서는 다룬적이 없으니 시리즈 중에 한번은 다뤄야겠다
이래서 시리즈 글을 보면 전체를 다 보는 것이 중요하다
저자들이 두번 설명하는 것을 싫어하고
전체를 보다 보면 그사람의 꿀팁을 모두 흡수할 수 있다
나는 이렇게 자료를 한 스크린 안에서 계속 확인할 수 있도록
제차 첨부해주는데
정말 좋은 방식이다.
함수를 굳이 쓰는 이유는
안써도 되는데
함수를 써야 또 다음에 이 기능이 필요할때 a = selection_sort(arr2) 식으로 바로 사용할 수 있기 때문이다
작은 프로그래밍만 하다 보면 함수를 굳이 쓰는게 매우 귀찮은데
작은 코딩만 하다가도 자꾸 함수를 쓰게 될것이다
또한 백준에서는 함수 없이 제출해도되는데
또 프로그래머스에서는 함수로만 제출해야해서
어려워하는 경우가 있다
요즘 대세는 함수니까
함수에 익숙해지실것이다
아무튼 그래서 함수를 만드는데
엔은 배열의 길이
배열의 길이만큼 반복
가장 작은 원소는 0부터 앞으로 1씩 커지면서 반복될 i (아래 j 와 비교해서 이해할것)
반복마다 다시 i+1번째부터 n까지 반복을 할 것
이 때 j 는 i+1부터 앞으로 1씩 커지면서 반복될 j
만약 그 배열의 제이번째가, 배열의 아이번째보다 작다면 ( 코드가 어렵다. i 와 j 를 민 인덱스로 지정하는 것에서 또한번 이해를 요구한다. 민인덱스 변수를 선언하고 활용하는것이 또다른 핵심이다 )
민 인덱스는 제이번째가 된다. (아이번째보다 제이번째가 작으니까 당연히!)
그러면 아이와 민 인덱스를 민 인덱스와 아이 형태로 위치를 바꿔준다
위 형태의 문법은 생소한 사람이 있을 수도 있는데
금방 익숙해진다
파이썬에서 쓸 수 있는 문법으로
간결하게 두 변수를 바꿔줄수 있다
다른 언어는 임시 변수에 담았다가 다시 옮기는 식으로 해야 하는 경우도 있는데
파이썬은 이렇게 직관적으로 위치를 바꿔주면 위치가 바꿔져서 들어간다
문법은 어렵지 않다
일정 수준에 이르면 요즘은 모든 언어를 금방 배워서 쓸 수 있다
몇 번 보다 보면 바로 감이 온다
어차피 하려는 행동들을 예상하는 능력에는
언어가 제한을 가하지 않는다
모르겠다면 관련 문법을 공부하면 된다
갈수록 스노우볼이 굴러가면서 편해지고 강해진다
모든 글 여러번 읽자
'1' 카테고리의 다른 글
비전공자를 위한 컴퓨터공학 인공지능, 머신러닝 이야기 - 지도 학습, 자연 상수, 시그모이드 함수, 로지스틱 회귀 모델(1) (0) | 2023.08.27 |
---|---|
버블 정렬 소트 이야기 | 포문 사용시 주의점 - 비전공자를 위한 컴퓨터공학 기초 배우기 (0) | 2023.08.27 |
비전공자를 위한 컴퓨터공학 알고리즘 - 이진 검색 (0) | 2023.08.26 |
비전공자를 위한 컴퓨터공학 배우기 선형 검색 알고리즘 파이썬 코드 예제 (1) | 2023.08.25 |
매일 영어 말하기 | 토익 스피킹, 오픽 | 잘하는 방법 (0) | 2023.08.25 |