개발차
[LeetCode] Array (1)
LeetCode내 Easy모음집에서 먼저 풀이를 해볼 예정입니다~! 풀면 풀수록 먼저 문제를 정확하게 이해하는 것이 중요하다는 것을 깨닫습니다... 우선 Array내에 풀고 싶은 문제들 먼저~! 1. Remove Duplicates from Sorted Array 배열 내의 중복된 원소들을 제거하는 것이 목표이다. 다만 새로운 배열을 만들지 않고(복사X) 기존 배열을 재배치하는 것이 주 포인트이다. [1,1,2,3,3,3] // [1,2,3]을 리턴해야함 그리고 기본적으로 배열들은 오름차순으로 정렬되어있는 상태이기에, 중복된 원소만 신경쓰면 된다. class Solution { func removeDuplicates(_ nums: inout [Int]) -> Int { // 길이 0일때, 예외처리 if ..
[프로그래머스] 정렬 - K번째수, H-Index
[1번 - K번째 수] 배열을 정렬한 후, 원하는 index의 값을 찾아내는 과정이다. import Foundation func solution(_ array:[Int], _ commands:[[Int]]) -> [Int] { var res: [Int] = [] for com in commands { var newArray = array[com[0]-1...com[1]-1].sorted() res.append(newArray[com[2]-1]) } return res } [프로세스] 1. 배열을 자른다. 2. 배열을 정렬한다. .sorted를 사용한다. by : 파라미터의 default 값이 < 이기에 오름차순으로 정렬된다. 3. 배열을 인덱싱한다. 크게 어려움 없이 풀이 완료! [2번 - H-Index..
[Git] 내가 보려고 정리하는 Git/Github
깃깃깃.. 다들 깃깃 하는 이유가 뭘까에 대해서 항상 생각하고 있었는데, 이번에 앱 개발을 하다가 프로젝트 파일 일부가 삭제되었는데 복구되지 않았어서... 소 잃고 외양간 고치기 식으로 git 사용법을 다시 복기해보고 앞으로 주기적으로 commit 하는 습관을 갖고자 한다. git은 설치되어 있다고 생각하고 아래에 프로세스를 적어보겠다. 혹시 모르니 mac은 아래 명령문을 터미널에 입력하면 된다. $ brew install -s git 0. 사용자 이름과 이메일을 먼저 세팅해준다. $ git config --global user.name "사용자 이름" $ git config --global user.email "사용자 이메일" * $ git config --list : config 리스트들 확인 * $..
조금 늦은 2020년 회고, 2021년 계획
지난 2020년에 있었던 일들에 대해 회고해보려고 한다. 회고하는 것 만큼 자신의 현위치를 파악하기에 적합한 건 없는 것 같다. 이미 2021년을 맞이하였지만, 조금 늦게나마 되돌아보고자 한다. 2020년 👏🏻 1월부터 교육 기획직으로 일을 시작하여 어느덧 회고글을 쓰는 현재, 꽉 채운 1년을 앞두고 있다. 1년간 다양한 업무들을 맡아 진행하면서 얻었던 경험, 느꼈던 사소한 감정들을 통해 한층 성장한 것 같다. 다만 기존에 공부하던 분야가 아닌, 교육이라는 새로운 분야에 도전해본 것에 대해서 느꼈던 부분도 많다. 누군가를 한층 더 성장시킨다는 "교육"의 의의와는 내가 생각하는 바와는 방향이 같았지만, 이를 이루어 내는 과정들에 있어 조금 맞지 않았던 부분도 있었다. 단순히 반복되는 업무, 누군가 당장 대..
[Swift] Binary Search란?
Binary Search란 배열에서 원하는 값을 찾기위한 방법 중 하나로, Linear Search와는 차이가 있다. 뜬금없이 Linear Search는 무엇이고? Binary Search란 무엇일까? 먼저 Linear Search를 이해하기 위해 간단한 예시를 통해 이해해보자. 만약 아래 배열에서 "20"이란 값을 찾고 싶다면 어떻게 찾을 수 있을까? [1,40,7,22,33,20,10,29,25,30,17,5] 보통 사람이라면 가장 좌측에서부터 하나하나 값을 봐가며, 내가 원하는 값인지 비교해 나아가는 경우가 많다. 0번째 요소인 1은 아니기에 패스, 1번째 요소인 40은 또 아니니 패스 ... 쭉 진행하며 찾는 방식이다. [1,40,7,22,33,20,10,29,25,30,17,5] -> * 이처럼..
[프로그래머스] 해쉬 - 위장
옷 종류를 겹치지 않게 입는 경우의 수에 대한 문제이다. func solution(_ clothes: [[String]]) -> Int { var res: Int = 1 let clothesMapped = clothes.compactMap {($0.last,1)} let cnt = Dictionary(clothesMapped, uniquingKeysWith:+) for (_,value) in cnt { res *= (value+1) } return res - 1 } [프로세스] 1. 결과를 담을 res 변수를 생성한다. 2. [[String]] 배열에 .compactMap을 적용한다. 2-1. [[String]] 내에 [String]을 $0을 통해 불러온다. 2-2. Clothes Type이 위치한 배열..