본문 바로가기

분류 전체보기

(249)
pip3? pip? 및 conda 내 pip 정리 pip 로 뭐 설치할 때마다 헷갈리던거 이번 글에서 한 번에 정리해보려고 한다. 먼저, 내 컴퓨터에는 anaconda와, python2, 3 모두 깔려있는 상태다. 1. pip vs pip3 이 링크 pip or pip3 to install packages for Python 3? 를 보면, 알 수 있는데, 정리하면 다음과 같다. 터미널에서 다음과 같이 명령어를 치면 pip와 pip2, pip3 가 실제로 어디에 설치되어있는지 알 수 있다. $ ls -l `which pip` -rwxrwxr-x 1 heumsi staff 234 3 26 18:25 /Users/heumsi/anaconda3/bin/pip $ ls -l `which pip2` lrwxr-xr-x 1 heumsi admin 34 5 13 1..
파이썬으로 문제 풀 때 주의해야할 점들 요새 코딩 테스트 문제 푸는 것을 파이썬 스타일로 바꾸려 하고있다. 나는 원래 문제풀 때 c++ 유저였는데 (대학생활 내내 c++ 이었다.), 뒤늦게 나마 바꾸려 하니, 사실 적응이 잘 안가는 것도 사실이다. 그렇다보니, 파이썬 코드를 짜더라도, 굉장히 c 스러운 모습이 보이는데, 이 역시 바꾸려고 하나씩 공부 중이기도 하다. 각설하고, 백준 저지 에서 c 로 풀면 정답으로 간주되는 것이, 파이썬으로 풀면 정답으로 간주되지 않는 경우가 간혹 있다. 이 때, 어떻게 해야할지 발견한 몇 가지를 여기에 적어본다. 1. input() 말고 sys.stdin.readline() 를 사용하자. 결론만 말하자면, 입출력 속도가 다음과 같다. sys.stdin.readline() > raw_input() > input..
파이썬을 파이썬 답게. (코딩 문제편) 코딩 테스트 문제에서 나 같이 파이썬을 파이썬스럽게 잘 못쓰는 사람들을 위한 강의가 프로그래머스에 있었다. 무료로 진행중인 강의이고, 30분 정도면 금방 볼 수 있는 내용인데, 내가 필요하다 싶은 것만 짧게 정리해두었다. 모든 내용과 출처는 https://programmers.co.kr/learn/courses/4008 여기에 있다. * 혹시나 문제가 있을 시에, 글을 바로 삭제하겠습니다. n진법으로 표기된 string을 10진법 숫자로 변환하기 - int 함수 파이썬의 int(x, base = 10) 함수는 진법 변환을 지원합니다. 이 기본적인 함수를 잘 쓰면 코드를 짧게 쓸 수 있고, 또 시간을 절약할 수 있습니다. num = '3212' base = 5 answer = int(num, base) 알..
파이썬 초급, 그 다음 단계 내가 파이썬을 처음 접해본 것은, 대학교 3학년 컴퓨팅 사고력 멘토를 처음 들어갔을 때다.학교에 필수교양으로 이제 막 '컴퓨팅 사고력' 이 엄청나게 열리던 시기였고, 컴퓨터 공학과에서 엄청나게 많은 멘토모집을 했었다.멘토 시급이 엄청 높아서, 나를 비롯한 대부분의 컴공 친구들이 파이썬을 잘 몰라도, 일단 지원하고 보았다.그리고 수업 일주일 전에 받는 강의 ppt 로 파이썬을 공부했다.그렇게 난 2년 정도 파이썬 멘토를 하였고, 강의교재 수준의 파이썬은 쉽게 다룰 수 있었다.부끄럽지만, 내가 알고있는 파이썬은 이 정도 였다. 최근 K사에서 단기 인턴을 하는 동안, 무수히 많은 파이썬으로 짜인 코드들을 보았고, 내 파이썬 문법실력이 얼마나 빈약한지를 깨달았다.일할 때는 일일이 stack overflow 에서..
[BOJ] 적록색맹 문제 적록색약 (https://www.acmicpc.net/problem/10026) 풀이 1. 초기접근 문제 조건 해석 n
[프로그래머스] 거스름돈 문제거스름돈 (https://programmers.co.kr/learn/courses/30/lessons/12907) 풀이1. 초기접근문제 조건 해석n은 100,000 이하의 자연수입니다. 화폐 단위는 100종류 이하입니다. -> O(nm) 안에 풀어야함.문제 조건의 변수로, 다음이 주어짐.거슬러 줘야 하는 금액 n돈의 종류 money거슬러줘야하는 금액 n과 돈의 종류에 따른 경우의 수를 고려해야 하므로, 두 가지를 고려한 2차원 dp를 생각할 수 있음.2차원 dpd[j][i] = (money[0] 부터 money[j] 의 화폐를 가지고 i원을 낼 수 있는 방법의 수) 라고 하면, 목표하는 정답은 d[money.size()-1][n] 가 됨.먼저 어떤 화폐를 쓰던, 0원을 거슬러주는 방법의 수는 1이므로..
git 주요 명령어 및 기타 정리 브런치 git branch (브런치 이름) (브런치 이름)의 이름을 가진 브런치 생성 git checkout (브런치 이름) 해당 브런치로 이동 git merge (브런치 이름) 현재 브런치에 (브런치 이름)의 브런치를 병합 git rebase (브런치 이름) 현재 브런치의 루트 브런치를 (브런치 이름)의 브런치로 수정 git rebase --continue git rebase 중 conflict가 난 경우, 수정 하여 add 후 commit이 아니라 이 명령어를 실행 git rebase --abort git rebase 자체를 취소하려면 이 명령어 실행 태그 git tag (태그 이름) 현재 커밋에 (태그 이름)의 이름을 가진 태그 생성 git tag -a (태그 이름) 현재 커밋에 (태그 이름)의 이..
[프로그래머스] 보행자천국 문제여행경로 (https://programmers.co.kr/learn/courses/30/lessons/1832) 풀이1. 초기 접근문제 조건 해석city_map[i][j]의 상태(0, 1, 2) 에 따라 다음 경로를 처리해야함. -> dp? or dfs?주어지는 맵 크기 1 = m || y >= n ) return 0; if (city_map[x][y] == 0) { return go(x+1, y, m, n, DOWN, city_map) + go(x, y+1, m, n, RIGHT, city_map) % MOD; } else if (city_map[x][y] == 2) { if (d == DOWN) return go(x+1, y, m, n, DOWN, city_map) % MOD; else if (d..