전체 글 173

[알고리즘/메모] 이분 탐색 binary search 코드 작성 템플릿

이분 탐색 필요하신 분 사용하세요. int left = 0; int right = LENGTH-1; while(left ANSWER){ right = mid - 1; } else { left = mid + 1; } } C++ Fast I/O C++ Fast I/O 코드도 함께 사용할 일이 있으니 참고하세요. ios_base::sync_with_stdio(false); cin.tie(NULL); 참고 자료 Fast I/O for Competitive Programming - GeeksforGeeks A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and p..

컴퓨터공학 2023.09.15

[Play console] 구글 플레이 콘솔 개발자 계정 소유자 권한 이전하기

개요 구글 계정은 한 개 이상의 개발자에 포함될 수 있습니다. 개발자 내 계정의 종류는 권한에 따라 크게 3가지로 구분됩니다. 계정 소유자 : 슈퍼계정, 인앱 결제 등의 결제 프로필 수정 가능, 최초 1회 지정 후 변경이 불가능 관리자 : 결제 프로필 설정 외의 대부분의 관리 권한 소유 가능 사용자 : 일부 권한만 소유 계정 소유자는 변경이 불가능하므로 계정 소유자가 변경되어야 하는 경우 꽤 복잡한 절차를 거쳐야 합니다... 새로운 개발자 계정 생성 [새 계정 소유자] 이미 존재하는 개발자 계정의 계정 소유자가 될 수 없으므로 자신이 계정 소유자가 될 새로운 개발자 계정을 생성해 주세요. 이미 계정 소유자 권한이 있는 개발자 계정을 가지고 있는 경우 이 단계는 생략하세요. 플레이 콘솔 창에서 새로운 개발..

소프트웨어 2023.09.14

[Flutter] MacOS M1 실리콘에 플러터 개발 환경 설정하기

전제 이 글은 다음과 같은 전제 하에 플러터 설치를 진행합니다. 설치 환경은 실리콘 아키텍처 및 최신 MacOS 버전 xcode가 설치되어 있음, iOS 에뮬레이터가 하나 이상 설치되어 있음 로세타 번역이 가능하도록 적용되어 있음 Android studio, android SDK 설치 완료 Intellij IDE가 설치되어 있음 플러터 다운로드 및 설정 [ zip 파일 다운로드 ] 안내사항에 따라 플러터 압축 파일을 다운받습니다. 저는 m1 맥을 사용중이므로 오른쪽 압축 파일을 다운받았습니다. [ zip 파일 압축 해제 ] 플러터 압축 파일을 희망하는 디렉토리에 이동시킨 후 터미널을 열어 압축 파일을 풀어주세요. 저는 Desktop/flutterdev 디렉토리 내 압축 파일을 이동했습니다. cd Desk..

[npm] link를 사용하여 개발중인 라이브러리 로컬에서 테스트하기

개요 간단한 라이브러리를 개발하던 도중, 테스트해야 할 때가 있습니다. npm에 배포하기 전, 로컬 프로젝트에서 테스트할 수 있는 방법을 안내합니다. 전제 간단한 라이브러리의 코드는 아래와 같이 구성되어 있습니다. shelljs 라이브러리를 사용하여 터미널에 Hi를 출력하는 기능을 제공합니다. [ package.json ] ... "bin": { "script1": "bin/runScript1.js" }, ... "dependencies": { "shelljs": "^0.8.5" }, ... [ bin/runScript1.js ] #! /usr/bin/env node var shell = require("shelljs"); shell.exec("echo Hi"); link 간단한 라이브러리의 루트 디렉토..

[Git] Git의 기초 및 Merge, Rebase, Squash에 대한 이해

Git 분산 버전 관리 시스템 커밋 브랜치 개념을 활용 각 커밋에선 데이터 스냅샷을 가지고 있음 #1. 커밋 프로젝트 파일의 수정을 가하여 이를 프로젝트에 적용할 때, 새로운 커밋 발생 각 커밋이 이전 커밋을 가리키고 있는 구조 아래 그림에서 98ca9, 34ac2, f30ab순으로 커밋이 생성되었음 커밋 과정 중 Staging Area이 있음 #2. 데이터 스냅샷 한 커밋에 대해 하나의 스냅샷 생성 데이터 스냅샷은 상태 변경 사항(diff)만을 저장하는 것과 다른 개념 데이터 스냅샷 내부엔 하위 트리 노드로 모든 파일이 blob으로 불리는 데이터 객체로 저장 데이터 스냅샷 내부 루트 트리는 blob들을 포인터로 가리킴 #3. 브랜치 Git에서 커밋들 사이를 이동할 수 있는 포인터 HEAD는 로컬 작업 ..

소프트웨어 2023.09.01

[백준] 11052 카드 구매하기 c++ 문제 풀이

개요 대부분 풀이는 모두 DP 1차원 배열을 활용했습니다. 이 문제는 DP 2차원 배열을 통해서도 풀 수 있습니다. 로직 DP 테이블의 각 값은 i번까지의 카드를 조합해서 만들 수 있는 j개 카드 값들 중 최댓값 DP 테이블의 값을 채우는 과정에서 기존 최댓값에서 현재 카드를 추가할 수 있는 경우, 현재 카드를 추가한 경우와 기존 최댓값 사이의 대소 비교를 통해 최댓값이 결정됨을 확인할 수 있음 소스 코드 #include #include using namespace std; int DP[1001][1001]; int P[1001]; int main() { int N; cin >> N; for (int i = 1; i > P[i]; } /* 1 5 6 7 i j 1 2 3 4 개의 카드로 pn까지 활용해서..

[Kotlin] 알고리즘 풀이를 위한 코틀린 코드 템플릿

참고용입니다. 입력 받는 코드 BufferedReader를 사용해야 합니다. (미사용시 시간 초과 가능성) import java.io.* val b = BufferedReader(InputStreamReader(System.`in`)) // 한 줄 (readln은 readLine과 다르게 null을 허용하지 않음) val T:String = b.readLine() // 한 줄, 그러나 문자열이 아닐 때 val T:Int = b.readLine().toInt() // 한 줄, 한번에 리스트에 담아야 하는 경우 var lst:List = listOf() lst = b.readLine().split(' ') // 한 줄에 정수 3개를 띄워쓰기 기준으로 입력받을 때 val (a:Int, b:Int, c:Int)..

[Prettier] vscode에 prettier 설치 및 저장 시 auto formatting 설정하기

Prettier 설치 vscode extension에서 prettier를 검색하여 설치 Prettier를 기본 formatter로 설정 vscode 전역 설정 -> Default Formatter 옵션을 Prettier로 설정 저장 시(Control + S) auto formatting 설정 vscode 전역 설정 -> Format On Save 옵션을 활성화 프로젝트의 Prettier 적용 프로젝트의 루트 디렉토리에 .prettierrc.js 등의 파일이 있는 경우 prettier는 vscode 전역 포멧팅 스타일이 아닌 해당 prettier포멧팅 스타일을 자동 적용 React-Native 프로젝트의 경우 따로 설정할 필요 없음

소프트웨어 2023.08.23

[React-Native] Windows 운영체제에 React-Native 개발 환경 구축하기

맥에서만 작업하다가 윈도우에서 작업해야할 일이 생겼습니다. 윈도우에 React-Native 개발 환경을 구축하는 방법을 안내합니다. JDK 설치 아래 링크를 통해 JDK 11을 설치합니다. Download the Latest Java LTS Free Subscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts. www.oracle.com 설치 후 프롬프트를 열어 아래 명령을 통해 JDK 설치 여부를 확인합니다. java -version Node.js 설치 Node.js LTS 버전을 설치해 주세요. 글 작성일 기준 최신 LTS 버전은 18.17.1이었네요. Do..

[React-Native/오픈소스활동] Modal이 전체 화면을 덮도록 구현하는 방법

개요 안드로이드에서 React-Native 앱 개발 중 Modal 사용 시 상단 StatusBar를 덮지 않는 문제를 제시 문제 분석 이러한 상황을 조치할 수 있도록 React-Native statusBarTranslucent 속성을 설정할 수 있음 따라서 해당 문제는 React-Native의 버그나 개선해야 할 사항이 아님 문제 조치 해결 방법 안내 및 스크린샷 첨부 소스 코드 statusBarTranslucent 속성을 적용한 예제 import React, {useState} from 'react'; import {Text, View, Modal} from 'react-native'; export default function App() { return ( Lorem ipsum dolor sit am..