분류 전체보기 69

[프로그래머스] N으로 표현

[프로그래머스] N으로 표현 문제 설명 [ 생각하기 ] 1. N의 숫자만을 사용하여 사칙연산을 할 수 있고, 그 결과가 number 이 나오는 최소한의 N의 개수를 구하는 문제이다. 2. N의 개수의 범위가 1~8, N을 1~8번 사용해서 만들 수 있는 수 중 number이 나오는지 파악하면 된다. (N = 5라고 가정) 5의 개수가 1 5 5의 개수가 2 55 5+5, 5-5, 5*5, 5/5 5의 개수가 3 555 [5의 개수가 1] (사칙연산) [5의 개수가 2] [5의 개수가 2] (사칙연산) [5의 개수가 1] 5의 개수가 4 5555 [5의 개수가 1] (사칙연산) [5의 개수가 3] [5의 개수가 2] (사칙연산) [5의 개수가 2] [5의 개수가 3] (사칙연산) [5의 개수가 1] 이게 ..

알고리즘 2020.06.18

[Git] GIT 협업 방법! - (Forking Workflow)

들어가기 협업 프로젝트를 하며, 졸업작품을 하며, 개인 repository를 관리하며.. Git을 사용했고 하고 있지만! 정확한 이해보다 하면서 찾아보고 느낌?상으로 했던 경험이 많은 것 같다. 목차 1. Forking Workflow 란? 2. How it works 3. Other situations 2. Forking Workflow를 사용하는 이유? 장점? 1. Forking Workflow 란? 개인 원격 저장소(중앙 Repository Fork한 것), 개인 로컬 저장소 2개의 Git 저장소를 가지고 프로젝트 진행 프로젝트 진행자 모두가 중앙 Repository에 Push 하지 않고, 개인의 원격 저장소에 Push 후, Pull Request 를 통해 중앙 Repository에 Merge하는 ..

GIT 2020.06.12

[Android] MVVM 패턴이란?! (feat. 예제 소개)

[Android] MVVM 패턴이란?! (feat. 예제 소개) ※ 안드로이드의 아키텍처 MVVM 을 공부해보자! [들어가기] ※ 디자인 패턴을 생각하게 된 이유 안드로이드 개발을 하면서 어떻게 구조화를 할지, 설계 단계에서 시간을 많이 안 쏟았던 것 같다. 해커톤과 같은 짧은 기간 내에 프로젝트를 진행하며(SOPT APPJAM) 모든 것을 완벽하게 구현해야한다는 급박함이었을까? 이제는 좀 더 구조적이고 모듈화된, 깔끔하고 유지보수가 쉬운 코드를 짜보려한다. ※ 어떻게 진행될까? - 간단한 프로젝트와 함께 MVVM을 적용해보자 - MVVM 구조에 대해 정확한 이해와 고민을 해보는 시간을 갖자 - 더 나아가, DI, Coroutine, DataBinding, RxJAVA 등을 프로젝트에 적용해보자 [시작하..

[Git] warning : LF will be replaced by CRLF

Git Warning 발생 개발을 하고 코드를 git에 업로드 하려는 도중, "warning : LF will be replaced by CRLF" 라는 오류가 떴다. 과연 이게 뭘까? Warning이 뜨는 이유 맥이나 리눅스를 사용하는 개발자와 윈도우 쓰는 개발자가 Git 협업할 때 발생하는 Whitespace 에러 유닉스 --> 한 줄의 끝이 LF(Line Feed) 윈도우 --> CR(Carriage Return)와 LF(Line Feed) 즉, CRLF 어떤 것을 따라야할지 Git 혼동!! 윈도우를 사용하는 나에겐 아래와 같은 warning! LF will be replaced by CRLF in .. 맥을 사용하면 RLF will be replaced by LF in .. 이렇게 나온다고 한다!..

GIT 2020.05.13

IntelliJ Console 한글 깨짐 - feat.error_Log

IntelliJ Console 한글 깨짐 ​InteliiJ 콘솔창에서 한글을 출력하려는데 계속해서 깨진다. 환경변수 설정하고 여러가지를 다 해봤지만 계속 깨졌다. 해결방법 Help < Edit Custom VM Options... 로 들어가서 -Dfile.encoding=UTF-8 ​ 이 한줄을 추가한 후, intellJ 재시작하면 해걸 ! 아주 간단한 방법으로 해결할 수 있다! 잘나온다ㅜㅜ 행복하다!!!

LANGUAGE/JAVA 2020.05.12

[JAVA] Queue(큐)& Deque(덱) 라이브러리 정리

Queue(큐) ​ - 선입선출(FIFO) : 먼저 들어온 데이터가 먼저 나간다. - LILO(Last-in, Last- Out) - 스택과는 반대개념 ​ - import java.util.*; - Queue queue = new LinkedList(); ex) Queue q = new LinkedList(); ​ 1. add() : 큐에 데이터 삽입 2. peek() : 가장 먼저 큐에 들어간 데이터 반환 3. remove() : 가장 먼저 큐에 들어간 데이터 삭제 및 반환 4. isEmpty() : 큐가 비어있는지 반환 5. size() : 큐에 있는 요소의 크기 반환 ​ ​ ​ Deque(덱) ​ - Double-ended queue의 줄임말 - 연결리스트로 이루어지며, 앞&뒤 모두 데이터의 삭제와..

LANGUAGE/JAVA 2020.05.11

Android Studio 버전 오류(Error Log) - This project does not use the Gradle build system

상황 - 약 1년 전에 프로젝트 한 것을 빌드하려 했다. - 그 사이 안드로이드 스튜디오 버전 업그레이드를 했고 실행을 시키려했더니 그냥! 어떤 코드도 나오지 않았다. (feat. 이미지 없음 주의) *********** 프로젝트를 GIT에 올리려고 할 때, .IDEA 파일은 올리는 것이 아니라고 한다 ************ - 개인의 상황에 따라 달라지는 파일 - 꼭! Gitignore에 적어주자! - 만약, 이미 올려버렸다면 git rm -r .idea 으로 커밋된 내용을 지워주자! 오류 내용 This project does not use the Gradle build system. We recommend that you migrate to using the Gradle build system 해결방..

ANDROID 2020.04.14

[JAVA] 기본 입출력(Scanner vs BufferedReader 차이)

자바를 처음 배우게 되었을 때, 대부분 Scanner를 사용했을 것이다..! 그러나, 최근에 알고리즘 공부를 하다가 BufferedReader의 존재를 알게 되었다! 이것들의 차이를 보니 속도면에서 상당히 큰 차이를 가지고 있다고 한다. Scanner 사용방법 Scanner sc = new Scanner(System.in); BufferedReader 사용방법 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 1. int값을 입력받을 때 - N = Integer.parseInt(br.readLine()); 2. String을 입력받을 때 - String s = br.readLins(); StringTokenizer 사용하는..

LANGUAGE/JAVA 2020.01.31