-
Git, Github 연결 및 사용법
지역 저장소(local)와 원격 저장소(remote) 연결하기 $ git remote add origin [원격저장소 주소] 원격 저장소에 orgin을 추가, 즉 local과 remote를 연결 $ git remote -v local과 remote가 잘 연결되었는지 확인 원격 저장소 Push & Pull $ git push -u origin master 지역 저장소의 브랜치를 origin(원격 저장소의 master 브랜치)로 푸시하라는 명령어 이 명령어는 초기에 한 번만 진행해 주면 된다 $ git commit -am "커밋메세지" -a : add 명령어를 쓰지 않아도, 한 번에 commit 한다 -m : commit 메세지를 작성 $ git push 위에서 $ git push -u origin mast..
-
Git & Branch
$ git branch 현재 branch list 보기 $ git branch [브랜치 이름] 새로운 branch 생성 * : 현재 작업중인 브랜치를 의미 log를 보면 HEAD가 master를 가리키고 있음 (현재 작업중인 디렉터리는 master) master, apple 두 개의 branch가 있는 것을 볼 수 있음 google, apple 브랜치는 현재 'message3'의 commit에서 만들어 졌다 따라서 master, google, apple 브랜치들은, 모두 최신 commit이 'message3'이다 $ git log --oneline 한 줄에 한 commit log만 보여줌 $ git checkout apple 현재 branch에서 다른 branch로 이동할 때 'checkout' 명령어를..
-
[Git 설치 및 초기설정, Git 명령어] Git으로 버전 관리하기
git 설치 및 초기 설정 $ brew install git brew를 이용해서 git을 설치 $ git 깃 설치가 정상적으로 되었는지 확인 git의 help 페이지가 나오게 된다 $ git config --global user.name "자신의 이름" $ git config --global user.email "자신의 이메일" commit 할 때 여기서 등록한 이름과 이메일이 사용된다 repository 생성 $ git init 자신이 원하는 곳에 directory를 하나 만들고, 해당 directory에 들어가서 git init 명령어 입력하면 해당 디렉터리에 버전이 저장될 'repository(저장소)'가 생성 $ ls -la 숨김 파일을 보게 되면 .git 파일이 생성되어 있을 것임 .git 파일..
-
vim setting
본인 계정의 사용자 홈 디렉터리(~)에서, .vimrc 파일에 다음 구문을 추가합니다(vi .vimrc) set hlsearch set nu set autoindent set scrolloff=2 set wildmode=longest,list set ts=4 set sts=4 set sw=1 set autowrite set autoread set cindent set bs=eol,start,indent set laststatus=2 set shiftwidth=4 set showmatch set smartcase set smarttab set smartindent set softtabstop=4 set tabstop=4 set ruler set incsearch if has("syntax") syntax ..
-
[이코테][유형별 기출문제][구현] 문자열 재정렬
문제 알파벳 대문자와 숫자(0 ~ 9)로만 구성된 문자열이 입력으로 주어집니다. 이때 모든 알파벳을 오름차순으로 정렬하여 이어서 출련한 뒤에, 그 뒤에 모든 숫자를 더한 값을 이어서 출력합니다. 예를 들어 K1KA5CB7이라는 값이 들어오면 ABCKK13을 출력합니다. 입력조건 첫째 줄에 하나의 문자열 S가 주어집니다. (1
-
[이코테][유형별 기출문제][그리디] 모험가 길드
문제 한 마을에 모험가가 N명 있습니다. 모험가 길드에서는 N명의 모험가를 대상으로 '공포도'를 측정했는데, '공포도'가 높은 모험가는 쉽게 공포를 느껴 위험 상황에서 제대로 대처할 능력이 떨어집니다. 모험가 길드장인 동빈이는 모험가 그룹을 안전하게 구성하고자 공포도가 X인 모험가는 반드시 X명 이상으로 구성한 모험가 그룹에 참여해야 여행을 떠날 수 있도록 규정했습니다. 동빈이는 최대 몇 개의 모험가 그룹을 만들 수 있는지 궁금합니다. 동빈이를 위해 N명의 모험가에 대한 정보가 주어질 때, 여행을 떠날 수 있는 그룹 수의 최댓값을 구하는 프로그램을 작성하세요. 예를 들어 N=5이고, 각 모험가의 공포도가 다음과 같다고 가정합시다. 2 3 1 2 2 이때, 그룹 1에 공포도가 1, 2, 3인 모험가를 한 ..
-
[파이썬][백준][10818번] 최소, 최대
- 문제 - 풀이 방법 1 N = int(input()) data = list(map(int, input().split())) mini = data[0] max = data[0] for i in range(N): if mini > data[i]: mini = data[i] if max < data[i]: max = data[i] print(mini, max) 방법 1은 일반적인 다른 언어에서 사용하는 알고리즘을 이용해서 푸는 것이다. 방법 2 N = int(input()) data = list(map(int, input().split())) print(min(data), max(data)) 방법 2는 파이썬 내장 함수인 min()과 max()를 사용하는 것이다.
-
[파이썬][백준][10871번] X보다 작은 수
- 문제 - 풀이 N, X = map(int, input().split()) data = list(map(int, input().split())) for i in range(N): num = data.pop(0) if X > num: print(num) - 고민 코드를 짜다가 오류가 난 부분이 있다. 아무 생각 없이 num = data.pop(i) 로 코드를 짰었는데 여기서 문제가 발생한 것이다. pop함수는 리스트의 젤 앞에 있는 요소를 내보내고, 이후 뒤의 요소들이 앞으로 당겨진다. 즉 1, 2, 3이 리스트에 들어있었고 pop함수를 한번 호출하면 1이 반환되고 뒤에 있던 2, 3이 앞으로 당겨지는 것이다. 따라서 pop은 위의 문제에서는 항상 0번째에 위치한 요소만 반환시켜주면 된다. 즉 pop(0..
-
[파이썬][백준][2439번] 별 찍기 - 2
- 문제 - 풀이 방법 1 N = int(input()) for i in range(1, N+1): print(" " * (N - i) + "*" * i) 방법 2보다 더 간단한 코드이다. 파이썬에서는 문자열끼리 + 연산자를 쓸 수 있기에 이렇게 코드를 짜면 간단하다. 방법 2 N = int(input()) for i in range(1, N+1): print(" " * (N - i), "*" * i, sep="") print()를 이용할 때 쉼표를 이용해서 출력을 하면, 쉼표 앞 뒤의 것들이 띄어쓰기가 한번 돼서 나온다. 그래서 sep=""을 통해서 공백이 없게 만들어주면 된다.
-
[파이썬][백준][10950번] A+B - 3
- 문제 - 풀이 T = int(input()) for _ in range(T): A, B = map(int, input().split()) print(A+B) for문에서 변수를 따로 지정하지 않고 range만큼 반복하기 위해 _ 연산자를 사용한다. - 고민 이 문제 코드는 쉽기 때문에 따로 포스팅하지 않으려고 했다. 근데 백준 채점 서버가 어떻게 돌아가는지 몰라서 아래와 같이 배열을 이용해서 한번에 입력받고 한번에 출력하는 프로그램을 만드려고 해서 이 부분을 짚고 넘어가려고 포스팅을 해본다. T = int(input()) a = list() for i in range(T): A, B = map(int, input().split()) a.append(A + B) for j in range(T): pri..
-
[파이썬][백준][2884번] 알람 시계
- 문제 - 풀이 방법 1 H, M = map(int, input().split()) M -= 45 if H == 0: if M = 45: print(H, M - 45) elif H > 0 and M < 45: print(H - 1, M + 15) else: print(23, M+15) 방법 2는 머리를 조금 더 써서 방법 1을 단순화 시킨것이다. 근본적으로는 크게 다르지 않다. M이 45일때를 기준, H가 0일때를 기준으로 생각하..
-
[파이썬][백준][2753번] 윤년
- 문제 - 풀이 year = int(input()) if ((year % 4 == 0) and (year % 100 != 0)) or (year % 400 == 0): print("1") else: print("0") 윤년이 되기 위한 조건은 3가지이다. 1. 4의 배수 2. 4의 배수이지만, 100의 배수가 아닌 것 3. 4의 배수이지만, 400의 배수는 윤년 if 문의 조건에서 이것을 만족하기 위해서는 글자 그대로 식을 작성하면 된다. 1 and 2 or 3 이것이 곧 답
-
[파이썬][백준][2588번] 곱셈
- 문제 - 풀이 A = int(input()) B = int(input()) print(A*(B%10)) print(A*((B//10)%10)) print(A*((B//100)%10)) print(A*B) 첨부터 깔끔하게 코드가 나오진 못했다. 한번 성공한 후에 깔끔하게 정리한 코드이다. - 고민 1. X // Y 와 같이 슬래쉬 두개를 한번에 쓰면 소수점은 무시한 나눗셈이 된다. 정수형으로 반환됨.
-
[파이썬][백준][10926번] ??!
- 문제 - 풀이 print(input()+"??!") 입출력과 문자열을 합쳐서 출력하기. input()으로 입력하면 항상 문자열로 입력되기 때문에 문자열 + 문자열 꼴이 된다.
-
[파이썬][백준][10869번] 사칙연산
-문제 -풀이 A, B = map(int, input().split()) print(A+B) print(A-B) print(A*B) print(int(A/B)) print(A%B) 처음에 이 문제를 틀렸었는데, 4번째 줄 나눗셈( / )을 할때 정수만 출력이 되어야 한다는 조건을 간과해서 틀렸다. A / B 를 int로 묶어주지 않으면 2.333~ 이렇게 출력되기 때문에 문제를 틀리게 된다. 따라서 나눗셈 연산을 한 다음 정수로 만들어 줬다. 그리고 파이썬에서는 줄마다 print를 써주면 자동으로 줄이 띄어진다.
-
[파이썬][백준][1001번] A-B
- 문제 - 풀이 방법 1, input() 이용 A, B = input().split() A = int(A) B = int(B) print(A-B) input()으로 입력을 받고, split()을 사용해 공백을 기준으로 입력받은 문자열을 분리한다. 분리된 것은 A와 B에 각각 저장된다. A와 B에 저장된 것은 타입이 문자열이기 때문에 int()를 이용해서 정수 타입으로 바꿔준다. 그런 다음 A-B를 출력. 가장 기본적인 형태의 정수 뺄셈 방법 방법 2, map 이용 A, B = map(int, input().split()) print(A-B) map 함수의 기본형 map(함수, 반복 가능한 자료형) * 반복 가능한 자료형 : 리스트, 튜플 ··· 파이썬에서 map 함수는 반복 가능한 자료형에 들어있는 요..
-
[파이썬][백준][1000번] A+B
- 문제 - 풀이 방법 1, input() 이용 A, B = input().split() A = int(A) B = int(B) print(A + B) input()으로 입력을 받고, split()을 사용해 공백을 기준으로 입력받은 문자열을 분리한다. 분리된 것은 A와 B에 각각 저장된다. A와 B에 저장된 것은 타입이 문자열이기 때문에 int()를 이용해서 정수 타입으로 바꿔준다. 그런 다음 A+B를 출력. 가장 기본적인 형태의 정수 덧셈 방법 방법 2, map 이용 A, B = map(int, input().split()) print(A + B) map 함수의 기본형 map(함수, 반복 가능한 자료형) * 반복 가능한 자료형 : 리스트, 튜플 ··· 파이썬에서 map 함수는 반복 가능한 자료형에 들어..
-
[파이썬][백준][10172번] 개
- 문제 - 풀이 print(r'''|\_/| |q p| /} ( 0 )"""\ |"^"` | ||_/=\\__|''') 10171번 고양이 문제와 매우 유사하다. 10172번 개 문제에서는 문자열 중간에 """ 이 들어가 있기 때문에, 문자열을 ''' 로 감싸야 한다. 또한 문자열 중간에 있는 백슬래쉬를 처리해주기 위해 따옴표 앞에 r (raw string) 처리를 해준다. 10171번 고양이 문제는 아래 참고 https://mong-tae.tistory.com/4
-
[파이썬][백준][10171번] 고양이
- 문제 - 풀이 print("""\ /\\ ) ( ') ( / ) \(__)|""") - 고민 1. 여러줄의 문자열을 출력하기 (""" ~~~ """) 파이썬에서 여러줄의 문자열을 출력하려할 때 ' \n '를 여러번 사용하지 않아도 된다. 쌍따옴표(") 세번을 연속으로 쓰고, 그 사이에 문자열을 집어넣으면 ' \n '을 따로 넣지 않아도 자동으로 줄을 띄어준다. 여기서 주의해야될 점이 있다. 나는 아래와 같이 입력하다가 자꾸 "출력 형식이 잘못되었습니다"가 떠서 정답을 맞추지 못했다. print(""" \ /\\ ) ( ') ( / ) \(__)|""") 내가 무엇을 잘못했는지 한참 고민했다. 코드 직관성을 높이기 위해서 1번째 줄에서 엔터 후에 입력한 것이 문제였다. """ \ /\\ → """\ /..
-
[파이썬][백준][10718번] We love kriii
- 문제 - 풀이 print("강한친구 대한육군\n강한친구 대한육군")
-
[파이썬][백준][2557번] Hello World
- 문제 - 풀이 print("Hello World!")