일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 스택
- 재귀
- 파이썬
- 국민대
- 프로그래머스
- C++
- OS
- LSTM
- Seq2Seq
- gan
- 정렬
- kmu
- machine learning
- 운영체제
- 회귀
- googleapiclient
- python3
- PANDAS
- GIT
- Python
- programmers
- 머신 러닝
- SQL
- 데이터베이스
- Stack
- db
- Regression
- 국민대학교
- Heap
- instaloader
- Today
- Total
목록프로그래머스 (49)
정리 노트
오늘은 Numpy 모듈이 무엇인지 보고 이를 사용하는 방법에 대해 배웠습니다. Numpy를 쓰는 이유? 사실 numpy를 쓴다고 하면 '아 쓰나 보다' 하고 아무렇지 않게 생각했지 이걸 써야 하는 이유에 대해 물으면 잘 몰랐습니다. numpy를 사용하면 필요한 연산들은 C로 만들어져 있기 때문에 python의 list를 사용하는 것보다 numpy의 array를 사용하는 것이 더 빠르다고 합니다. 아래의 방법을 통해 연산 시간을 간단하게 확인할 수 있었습니다. import numpy as np my_list = range(1000) %timeit [i**2 for i in my_list] # %timeit은 timeit 모듈을 사용하겠다는 jupyter notebook 만의 문법입니다. arr = np.a..
오늘은 첫 날로, 과제 제출 등에서 사용될 Git과 Github에 대해 배웠습니다. VCS(Version Control System) 버전 관리를 사용하면 누가, 언제 코드의 어떤 부분을 갱신했는지 파악할 수 있고, 이전의 코드로 되돌아갈 수 있으며, 분산 버전 관리를 할 경우 팀원 A, B, C 모두 각자 병렬적으로 코딩을 할 수 있습니다. Git Git에서는 주로 add, commit 등의 명령으로 파일이 git에 의해 관리받도록 할 수 있게 합니다. 강의 자료를 따라 실습하던 중, commit이 진행되지 않고 아래의 그림처럼 자신이 누구인지 설정하라는 안내문이 떴습니다. 이는 Git을 처음으로 실행하는 사람에게 나타난다고 합니다. 안내문대로 config를 진행한 후 다시 commit을 시도하니 co..
https://programmers.co.kr/learn/courses/30/lessons/77884 코딩테스트 연습 - 약수의 개수와 덧셈 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주 programmers.co.kr 오랜만에 레벨 1 문제를 풀어보니 너무 쉬웠다. 루트를 이용해 약수의 개수를 찾는 횟수를 줄였다. 나의 코드는 아래와 같다. from math import sqrt def solution(left, right): answer = 0 for n in range(left, right+1): counter = 0 f..
https://programmers.co.kr/learn/courses/30/lessons/81302 코딩테스트 연습 - 거리두기 확인하기 [["POOOP", "OXXOX", "OPXPX", "OOXOX", "POXXP"], ["POOPX", "OXPXP", "PXXXO", "OXXXO", "OOOPP"], ["PXOPX", "OXOXP", "OXPOX", "OXXOP", "PXPOX"], ["OOOXX", "XOOOX", "OOOXX", "OXOOX", "OOOOO"], ["PXPXP", "XPXPX", "PXPXP", "XPXPX", "PXPXP"]] [1, 0, 1, 1, 1] programmers.co.kr 이번에도 레벨 2 문제를 골랐다. 문제를 보고 두 가지 생각이 들었다. 모든 경우를 if-..
https://programmers.co.kr/learn/courses/30/lessons/67257 코딩테스트 연습 - 수식 최대화 IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다. 이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 programmers.co.kr 하... 이 문제가 레벨 2라는 게 믿기지가 않는다.. 오래 걸렸어도 내가 생각했던 방향대로 끝까지 풀었다는 것에 만족한다. 다른 풀이들을 보니 나처럼 푼 사람이 안 보인다... 하하.... 나의 풀이 내 풀이의 순서는 아래와 같다. 연산자들의 모든 우선순위의 경우들을 구한다. 각 우선순위를 적용해서 계산식을 이진트리로 구성한다. 구성한 이진트리에서 posto..
https://programmers.co.kr/learn/courses/30/lessons/64061 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr 역시 1단계 문제라 그런지 가볍게 풀었다. 이번 문제는 스택을 생각하고 문제를 풀면 간단히 풀 수 있다. 바구니를 스택이라 생각하고 스택의 맨 위의 인형과 바로 아래의 인형과의 비교만 하면 되기 때문에 복잡한 연산도 없다. 아래의 코드로 문제를 풀었다. def solution(board, moves): bucket = [] answer = 0 for move in moves: for r ..

https://programmers.co.kr/learn/courses/30/lessons/62048 코딩테스트 연습 - 멀쩡한 사각형 가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을 programmers.co.kr 이번 문제는 수학 문제였다. 처음에는 모든 경우의 수를 다 생각해서 가로, 세로, 사각형 개수의 관계를 찾아보려 애썼지만 깔끔하게 나오지 않았다. 그다음에는 작은 단위로 쪼개서 재귀적으로 풀 수 있지 않을까 하는 생각에 재귀를 호출할 기준을 찾으려 했지만 뭔가 애매하게 나와서 그만뒀다. 그러면 어떻게 하는 게 좋을 것인지 생각하다 시간..
https://programmers.co.kr/learn/courses/30/lessons/12973 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr 이 문제는 시간 초과 때문에 조금 생각을 했던 문제였다. '질문하기' 탭에서 스택이라는 단어를 언뜻 보고 난 후 깨달음을 얻어 스택을 이용해 풀었더니 바로 해결되었다. 나의 풀이 스택을 이용해 풀어야겠다 생각을 하고서 생각해낸 풀이 과정은 다음과 같다. 처음에 비어있는 스택을 선언한다. 문자열의 알파벳들을 하나씩 스택에 추가한다. 스택에 항목을 추가..