분류 전체보기 68

[프로그래머스 level1] 가운데 글자 가져오기 - Python

문제 본문 https://programmers.co.kr/learn/courses/30/lessons/12903?language=python3 코딩테스트 연습 - 가운데 글자 가져오기 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s ret programmers.co.kr 문제 풀이 1. 첫번째 풀이 엣날에 잠깐 겉핥기식으로 python을 공부했었어서 따로 찾아보지 않고 기억을 더듬어 작성해본 코드이다. 문자열s의 길이를 2로 나눈 값을 middle에 넣어주었다. -> 가운데 인덱스 만약 문자열s의 길이가 홀수 이면, s의 middle번째 인덱스에 있..

Python 2021.07.18

Python 공부 시작!

언어 순위 표 다음 그림은 현재를 기준으로 가장 많이 사용하는 언어 순위표 이다. (어떤 언어가 최고인지 우위를 다투는 순위가 아님을 참고하자. 자세한 설명은 링크를 참고) 파이썬 시작하는 이유 (+장단점) 가장 오래 공부한 언어가 swift이기도하고 iOS개발자를 준비중이다보니 코딩테스트도 swift로 준비하고 있었다. 코딩테스트를 준비하는데 유리한 언어는 C++, Python 이라고 한다. C++은 실행속도가 빠르고, Python은 코드가 짧다는 각각의 장점이 있다. -> 대신 코테에서 알고리즘 문제 접근 방식을 틀리게 문제를 풀었을 경우, C++은 통과되고 python에서는 시간초과가 나는 경우도 있다고 한다..ㅠㅠ + 삼성전자 SW역량테스트에서 python을 제외하고 있다고 하니, 삼성을 목표로 ..

Python 2021.07.18

문자열 원하는 길이 만큼씩 자르려면 어떻게 해야할까? - swift

Trouble 코딩테스트 문제를 푸는 중, 일정한 크기로 문자열을 나눠야하는 경우가 생겼는데 separator(공백, 특정문자 등)를 기준으로 자르는 경우는 해봤지만 원하는 크기로 일정하게 잘라본 적은 없는 것 같다.. 2시간 가까이 머리를 싸매고 검색도 했지만 원하는 결과를 찾지는 못했다. 대신 문자열의 인덱스를 이용하여 일부 문자열을 얻는 방법에서 착안하여 작성해보았다. 생각한 방법 index( , offsetBy: Int) 함수를 사용하였다. 문자열의 시작인덱스(newStr의 0번 인덱스)와 끝인덱스(시작인덱스로부터 offset만큼 떨어진 원소의 인덱스)를 구한다. newStr의 start부터 end까지를 result배열에 append 한다. newStr을 앞에서부터 offset만큼의 문자를 제거한..

Trouble Shooting 2021.07.17

문자열 자르기 components & split - swift

특정 문자를 기준으로 문자열을 자를 때 사용하는 함수는 크게 components 와 split 이 있다. 각 함수 Summary를 보자. (자세한 정의는 위의 함수 링크를 참고) 차이점 프레임워크/라이브러리 : `components`는 Foundation 프레임워크에 속해있어 'import Foundation'을 선언해주어야 하는 반면, `split`은 swift 표준 라이브러리에 속해있기에 'import Foundation'을 하지 않아도 쓸 수 있다. 리턴값 : components -> [String] split -> [SubString] 인자수 : components - `separatedBy` split - `separator`, `maxSplits`, `ommitingEmptySubsequenc..

Swift 2021.07.17

코딩테스트 볼 때 참고 자료

알고리즘 문제를 풀 때, 수학적으로는 생각이 나는데 코드로 생각이 안날 때! 참고하면서 익히려고 적는 글입니다. 계속 추가될 예정입니다! Factorial(!) 수학적 정의: 자연수의 계승 또는 팩토리얼은 그 수보다 작거나 같은 모든 양의 정수의 곱이다. 수식: func factorial(_ n: Int) -> Int { var n = n var result = 1 while n > 1 { result *= n n -= 1 } return result } *👩🏻‍🏫 : 재귀로도 작성해보자. func factorialRecursion(_ n: Int) -> Int { if n==0 { return 1 } return n * factorialRecursion(n - 1) } 순열(Permutation) 수학..

View Life-Cycle - swfit

: View Controller의 생명주기에 대해 알아보고자 한다. iOS앱은 ViewController들로 이루어져 있다. (줄여서 VC 라고 적도록 하겠다.) 각각의 VC는 생명주기를 가지고 있다. UIViewController 란? : An object that manages a view hierarchy for your UIKit app. * For Detail : https://developer.apple.com/documentation/uikit/uiviewcontroller VC’s Responsibility 주어진 데이터의 변화에 대한 응답으로 view들의 contents 업데이트 하기. View들과 함께 사용자의 상호작용에 응답한다. (Event Handling) View들을 재조정하고,..

iOS 2021.07.17

Frame / Bounds 의 차이 - Swift

공통점 UIView의 instance property. origin, size를 가진다. (x, y, width, height) Origin (원점) Frame : superView의 원점으로부터 x,y축으로 얼마나 떨어져 있는지를 나타낸다. Bounds : 자기 자신의 좌표계 안에서 원점을 결정하므로 별도의 값을 하당하기 전까지는 항상 0으로 초기화 된다. Size Frame : superView 좌표계 안에서 현재 view가 사각형 영역으로 차지하고 있는 크기를 나타내기 때문에, view를 회전시킨다면 frame의 크기는 달라질 수 있다. Bounds : 자기 자신의 크기를 나타내므로 view가 회전하더라도 크기는 항상 같다. Frame : The frame rectangle, which descri..

iOS 2021.07.17
반응형