컴퓨터공학/기타 프로그래밍 20

[Python3] input 입력 받기

백준, 알고스팟 같은 알고리즘 사이트 솔루션을 작성할 때 테스트 케이스에 대한 입력을 감안하여 솔루션을 작성해야 합니다. 이 글에선 솔루션 작성 때 자주 사용하는 input 3가지 경우를 소개합니다. 1개의 값 입력받기 input 함수를 사용하여 1개의 값을 입력받을 수 있습니다. 입력 받은 값의 자료형은 문자열입니다. a = input() N개의 값 입력받기 input 함수 뒤에 split 함수를 작성하여 구현할 수 있습니다. b,c = input().split() d = input().split() 리스트로 입력받기 반복문을 활용하여 입력받는 값을 원하는 자료형으로 만들 수 있습니다. 아래 코드는 리스트로 값는 예제입니다. team = [] for i in range(3): b,c = input()...

[Python3] 큰 따옴표(")와 작은 따옴표(')

큰 따옴표(Double Quotes)와 작은 따옴표(Single Quotes) 상황에 따라 추천하는 경우가 다를 뿐 차이가 없다고 보셔도 무방합니다. 문자열에 작은 따옴표가 포함되는 경우, 큰 따옴표로 문자열을 감싸 주어야 합니다. example = "I'm an apple" # 출력 결과 : I'm an apple 반대로 문자열에 큰 따옴표가 포함되는 경우, 작은 따옴표로 문자열을 감싸 주어야 합니다. example = 'Apple said "Hello banana"' # 출력 결과 : Apple said "Hello banana" 문자열에 둘 다 들어가야 하는 경우, 큰 따옴표/작은 따옴표 세개로 문자열을 감싸 주어야 합니다. example = """"Hello Apple?" banana said. ..

[Python3] 문자열 뒤집기 reversed()

python에서 문자열을 뒤집는 방법은 여러 가지가 있습니다. reversed() 파이썬에서 기본적으로 제공하는 reversed 함수를 사용할 수 있습니다. 그러나 reversed 함수는 뒤집어진 문자열이 아닌 뒤집어진 iterator를 반환합니다. s = "apple pie" print(reversed(s)) # 출력 결과 : 따라서 반환받은 iterator를 join 함수를 통해 다시 문자열로 만들어야 합니다. join함수를 사용하여 길이가 0인 문자열 ''에 iterator를 추가하여 뒤집어진 문자열을 만들 수 있습니다. s = "apple pie" s_iter = reversed(s) print(''.join(s_iter)) # 출력 결과 : eip elppa 슬라이싱 reversed 함수 사용 ..

[XCode] info.list를 수정하여 iOS 앱 이름 바꾸기

iOS 앱 이름을 바꾸어 보겠습니다. 이름을 바꾸는 방법은 여러가지가 있습니다. 저는 info.list 를 수정하여 이름을 바꾸는 방법을 설명하겠습니다. DIsplay Name 변경 프로젝트.workspace를 XCode로 연 후 Targets -> 프로젝트명 -> Generals -> Identity 항목에서 Display Name 항목을 바꾸고자 하는 이름으로 변경해 주세요. Info.list 수정 Targets -> 프로젝트명 -> Info 로 들어가서 Bundle Display Name 항목을 $(INFOPLIST_KEY_CFBundleDisplayName) 으로 변경 해 주세요. 해당 변수는 앞서 설정한 Display Name 값을 가지는 변수입니다. XCode 환경 변수 목록 공식 문서에서 모..

[XCode] Build Setting 빌드 환경 변수 목록 확인하기

info list를 적절히 수정하기 위해 여러 가지 환경 변수를 활용할 수 있습니다. 이 환경 변수 목록을 확인해 보겠습니다. 방법1) 공식문서 xcode 공식 문서를 참고하세요. (한결같이 찾기 힘든 애플 공식 문서,,,) 방법2) 명령어 실행 IOS 프로젝트가 로컬에 존재한다면 해당 프로젝트 디렉토리에서 아래와 같은 명령을 실행시켜 보세요. ReactNative와 같은 크로스 플랫폼인 경우 프로젝트명/ios 디렉토리에서 해당 명령을 실행시켜 주세요. xcodebuild -project 프로젝트명.xcodeproj -target "프로젝트명" -showBuildSettings 해당 프로젝트에 적용되는 환경 변수 목록을 아래와 같이 확인할 수 있습니다. ACTION = build AD_HOC_CODE_S..

[npm] 라이브러리 버전 semantic versioning 가이드라인 이해하기

라이브러리 버전 규칙에 대한 npm 가이드라인을 서술합니다. npm의 semantic versioning npm 공식 문서에서는 라이브러리 버전 설정 시 아래와 같이 버전을 설정하도록 권장하고 있습니다. 메이저.마이너.패치 형태로 버전을 명시 최초 배포 버전 : 1.0.0 호환되는 버그 패치 버전 : 1.0.1 호환되는 새 기능 추가 버전 : 1.1.0 호환되지 않는 새 기능 추가 버전 : 2.0.0 즉, 이전 버전과 호환 여부에 따라 메이저, 이전 버전과 호환되는 새로운 기능인 경우 마이너, 기타 버그 패치와 같은 자잘한 작업의 경우 패치 버전을 결정합니다. 틸드(~)와 캐롯(^) 위에서 라이브러리 버전이 어떻게 구성되는지 이해했습니다. 허나 package.json에는 버전뿐만 아니라 버전 옆 틸드(~..

[npm] package.json 과 package-lock.json 차이점 이해와 필요성

다양한 서드파티 라이브러리들을 사용하기 위해 npm이라는 패키지 매니저를 일반적으로 사용하는데요, npm을 사용함에 있어 필요한 파일 두 가지, package.json 및 package-lock.json을 이해하고 차이점을 알아보겠습니다. package.json과 package-lock.json 차이 이해를 돕기 위해 express 라이브러리를 설치하여 package.json과 package-lock.json을 비교해 보겠습니다. package.json ... "dependencies": { "express": "^4.18.2" } ... package-lock.json ... "node_modules/express": { "version": "4.18.2", "resolved": "https://reg..

[Python3] dictionary 사용 방법

hashmap 을 구현할 수 있는 python dictionary 사용 방법을 서술합니다. dictionary 는 key 와 value 한 쌍의 집합체입니다. 또한 집합 원소 간 순서가 보장되지 않습니다. (순서가 없음) 선언 hashMap = {} 아래와 같이 초기화 할 수 있습니다. hashMap = dict(apple = 10, banana = 6, grape = 7) key 와 value 추가 및 업데이트 keyName 이 없을 경우 추가, 존재하는 경우 value 를 업데이트합니다. hashMap['keyName'] = value key 와 value 삭제 list 삭제와 동일한 방식입니다. del hashMap['keyName'] key 존재 여부 확인 in, not in 구분을 통해 확인 여..

[Python3] 다차원 리스트 생성

계속 까먹는 파이썬 다차원 리스트 생성, 알고리즘 문제 푸는 데 유용한 도구가 되니 더 이상 까먹지 않도록 블로그에 기록합니다. 생성 모든 원소 값 0을 갖는 2차원 리스트를 생성합니다. n = 2 table = [[0 for _ in range(n)] for _ in range(n)] # [[0,0], [0,0]] 주의점 아래 프로그램을 실행하여 동일한 결과를 얻을 수 있으나, 일반적인 다차원 리스트를 생성하는 것이 아닌 각 인덱스에 대한 참조 리스트를 생성합니다. n = 2 table =[([0]*n)] *n # [[0,0], [0,0]] table[1][1] 값을 1로 만들고자 할 때, table[0][1] 또한 1로 변경되는 것을 확인할 수 있습니다. print(table) # [[0,0], [0..