Sesac 시험강의 응용 02.검색기록 만들기(array활용)

Woong·2022년 6월 2일
0

쇼핑몰,인스타그램,검색포털,넷플릭스 등등 모든곳에서 사용하는 검색기록은 어떻게 구현되는 것일까? Command LineTool로 해당기능을 간단하게 구현해보자!

print("------배열응용------")

var searchList : [String] = []                  // 최근검색어 빈 배열생성


print("검색어를 입력해주세요 :", terminator: "")      // 검색어 입력 요청메시지 출력 , terminator : "" 을 사용하여 newLine으로 넘어가지 않도록 한다!
var searchWord1 = String(readLine()!)           // searchWord1 변수에 입력한 값을 저장시킴.

if !searchWord1.isEmpty {                       // searchWord1이 비어있지않으면 {
    searchList.insert(searchWord1, at: 0)       // searchList 배열에 searchWord1의 입력값을 추가
    print("최근검색어 리스트 입니다.", searchList)    // 최근검색어리스트(searchWord1 추가한 값) 출력

}

print("추가 검색어를 입력해주세요 :", terminator: "")   // 추가검색어 입력 요청메시지 출력
var searchWord2 = String(readLine()!)            // searchWord2 변수에 입력한 값을 저장시킴

if !searchWord2.isEmpty {                       // 아래 동일
    searchList.insert(searchWord2, at: 0)
    print("최근검색어 리스트 입니다.", searchList)
}

print("추가 검색어를 입력해주세요 :", terminator: "")
var searchWord3 = String(readLine()!)

if !searchWord3.isEmpty {
    searchList.insert(searchWord3, at: 0)
    print("최근검색어 리스트 입니다.", searchList)
}

print("최근검색어를 삭제하시겠습니까?(실행-Y/N 입력):", terminator: "")   // 최근검색어 삭제 여부 메시지 출력
var deleteSearchList = String(readLine()!)                     // deleteSearchList 변수에 삭제 여부 입력값 저장

if deleteSearchList == "Y" {                        // 삭제여부에 "Y"를 입력했다면 {
    searchList.removeAll()                          // searchList 배열을 모두 삭제시킨다.
    print("최근검색어가 초기화되었습니다.")                 // 초기화 완료 메시지 출력
    print("최근검색어 리스트 입니다.", searchList)        // 최근검색어리스트(removeAll값) 출력
    print("추가 검색어를 입력해주세요 :", terminator: "") // 추가검색어 입력 요청메시지 출력
    var searchWord4 = String(readLine()!)
}else{                                            // else조건일 때, 추가검색어 입력 요청메시지 출력
    print("추가 검색어를 입력해주세요 :", terminator: "")
    var searchWord4 = String(readLine()!)
}

강의를 보면서 :

지그재그, TodoList, 노래듣기(플레이리스트) 앱 등등 배열을 사용한 예시를 보여줬다.
이런 것들을 listArray[indexPath]로 해당셀의 배열을 가르켜서 이것들을 추가하고 삭제하고 순서를 변경하고 등등을 배열로 처리했었다. 그 때, 내가 전부 사용해봤었던 것들이였구나?? 새삼 신기

새로 알게 된 사실:

강의 중에 이차원 배열이란 것이 있더라 몰랐던 건데 알고 있으면 유용할 수도 있을듯?

var sample : [[Int]] = [[1,2,3,4],[0,1,2,3,4]] // 2차원 배열

print(sample[1])		// [ 0,1,2,3,4 ] 를 반환한다.
print(sample[1][0])		// 1번배열의 첫번째 구성요소 0 을 반환한다.
profile
https://github.com/iOS-Woong

0개의 댓글