목록분류 전체보기 (282)
Hayden's Archive
알고리즘 문제 출처 : https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 내가 작성한 코드 헷갈려서 많이 헤맸던 문제. 스택 없이도 풀어볼 수 있을 것 같아서 이중 for문으로 도전했다가 시간 초과가 나왔다. 이후 스택을 2개를 사용해보기도 했지만 애시당초 접근이 틀렸다. 자료의 크기가 최대 백만개이므로 이중 반복문을 돌릴 경우 백만의 제곱만큼 시간 복잡도가 소요된다. 각설하고, 이 문제는 오큰수를 만나지 못한 인덱스를 스택에 넣어야 한다. 우선 0번째 인덱스..
알고리즘 문제 출처 : https://www.acmicpc.net/problem/10799 10799번: 쇠막대기 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저� www.acmicpc.net 내가 작성한 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.Stack; public class Main { pu..
import matplotlib.pyplot as plt plt.figure(figsize=(10,6)) # 가로사이즈 10, 세로사이즈 6 plt.plot(walk) plt.savefig('walk.png') # 같은 경로에 walk.png 저장됨 plt.show() # 객체 이름이 지저분하게 나와서 이거까지 입력하고 마무리해줌
인덱싱과 슬라이싱 인덱싱만 쓰게 된다면 하나의 데이터(스칼라값)만 추출할 수 있음. - one row, one column을 스칼라값이라고 함. 인덱싱은 스칼라값을 추출하기 위한 방법. 슬라이싱을 쓰려면 반드시 인덱싱이 들어가야 함. 값을 추출하는 일이 비일비재하므로 인덱싱과 슬라이싱 굉장히 중요. 마지막 숫자는 포함되지 않는다. where절 => 3항 연산자와 동일 Numpy 통계함수
벡터와 배열을 위한 넘파이(Numpy) Numpy 배열 생성하기 array() 사용해서 np 배열 생성 랜덤함수 사용해서 np 배열 생성 np 배열과 리스트 비교 배열 초기화 Numpy 배열의 속성과 기본함수(ndim, shape, reshape) 랜덤함수와 seed값 설정하기 * 벡터와 배열을 위한 넘파이(Numpy) 벡터 -> 1차원이다! 데이터 분석에서는 살짝 다루지만(판다스에서 또 나옴) 머신이나 딥에서 넘파이가 많이 나옴. 3차원은 딥에서 다룸. 데이터 분석을 하는데는 2차원을 함. 모든 데이터는 우리가 보기에 난수같은 숫자로 만들어짐. 데이터 -> 보안상 고객 정보를 100만분의 1로 나누고 루트 씌우고 ~~ 형태(0~1 사이의 숫자. 난수처럼 보이는 숫자.)의 줌. -> 그래서 ..
알고리즘 문제 출처 : https://www.acmicpc.net/problem/17413 17413번: 단어 뒤집기 2 문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('')로만 이루어져 � www.acmicpc.net 내가 작성한 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.Stac..
알고리즘 문제 출처 : https://www.acmicpc.net/problem/10866 10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 �� www.acmicpc.net 내가 작성한 코드 마지막 요소를 삭제할 때 pop()을 썼는데 자꾸 결과가 이상하게 나오길래 확인해봤더니 첫번째 요소를 삭제해주는 메소드였다. 그래서 pop()을 쓰지 않고 removeLast()를 사용해서 코드를 작성했다. import java.io.BufferedReader; import java.io.BufferedWriter; import jav..
알고리즘 문제 출처 : https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 내가 작성한 코드 너무 어렵게 생각했다. 큐 하나에서 넣고 빼고를 둘 다 한다는 생각을 못해서 큐 2개를 가지고 씨름을 했다. 또 증감 연산자를 써서 m번째를 추출하고 또 해당 변수를 0으로 초기화하고 또 증감연산자를 쓰고 이렇게 하다 보니 시간 초과가 계속 나왔다. 이럴 땐 이중 for문을 돌리는 게 더 빠르다. import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOExcept..
함수는 정의해놓고 써야 함. 라이브러리에서 제공하는 함수를 갖다 쓸 때도 볼 줄 알아야 함. def = definition ★함수 헤더의 끝은 콜론(:)이다. => brace가 필요한 곳은 콜론을 찍음.. 머신러닝, 딥러닝을 하다보면, 함수를 우리가 정의해서 사용하는 경우가 많이 있다. 1. 기본문법 def 함수이름(매개변수): """ doc string...함수 기능에 대한 설명... (내가 만든 함수에 대한 주석) """ return (리턴할 게 있으면 리턴 키워드 쓰고 없으면 안 씀) 2. ★★★함수를 만드는 4가지 방법 (라이브러리에서 가져다 쓸 때 함수 사용법이 다르게 나옴. 그래서 이해해야 함.) - 위치 매개변수 - 기본 매개변수 - 키워드 매개변수 - 가변 매개변수 (파이썬 안 하고 자바나..