문자열 입력은 readLine()을 활용한다. 입력받은 문자는 String이 아니라 Optional 타입으로 변수에 담기기 때문에, 느낌표를 붙여서 강제언래핑해준다.
프로그래머스 환경에서는 '강제언래핑->Int형으로 타입캐스팅->강제언래핑' 방법이 오류가 나서 위와 같이 해주었다. 'components(separatedBy: " ")'를 호출해서 입력된 텍스트를 공백 문자로 분할 후, 결과를 'map'을 이용해서 정수로 변환한다.
한 쪽 끝에서만 재료를 넣고 뺄 수 있는 LIFO, FILO 형식의 자료구조pushpoppeek: 가장 뒷단, 혹은 상단에 있는 자료를 확인하는 메소드isEmptycountpopLast와 removeLast는 다르다. popLast는 배열 값이 비어있어도 런타임에러가
먼저 들어간 데이터가 먼저 나오는 FIFO 형식의 자료구조enqueuedequeuepeekisEmptycount여러가지 방법이 있지만, 가장 많이 사용하는 방법은 배열+포인터 혹은 원형큐이다.배열과 포인터를 쓰는 게 가장 간편해보이지만, 공간을 효율적으로 사용할 수 없
'정렬을 했을 때 같은 값을 가진 원소들의 순서가 유지되는가?' 를 기준으로,정렬을 했을 때 같은 값을 가진 원소들의 순서가 항상 유지되는 경우가 Stable이다. 즉, 정렬 결과가 항상 일정하다.대표적인 알고리즘들Stable Sorting 알고리즘:Insertion
BFS(Breadth First Search)는 그래프 전체를 탐색하는 방법 중의 하나이다. 그래프 전체를 탐색하는 방법은 크게 BFS와 DFS, 두 가지가 있다. 그 둘 중 BFS에 대해 다뤄보고자 한다. BFS의 핵심은 그래프 전체를 탐색하되, 인접한 노드들을 차례