목록분류 전체보기 (92)
새벽을 밝히는 붉은 달
📎 백준 1427번 풀러 가기 문제 배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자. 입력 첫째 줄에 정렬하고자하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. 출력 첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다. 처음에 보고 split을 이용하면 좋을 것 같은데, 붙어있는 문자열도 split으로 나눌 수 있는지 궁금해서 한번 시도를 해보았더니! 역시나 실패😂 그래서 join으로 문자열 사이에 의도적으로 : 를 넣어준 후, : 를 기준으로 split한 다음, reverse로 sort해서 출력을 해주었다. 이렇게 해서 맞은 다음, c였다면 한 글자씩 받아서 처리를 했을텐데 python에도 그런 기능이 있나? 해서 찾아보다가 ..
📎 백준 2108번 풀러가기 문제 수를 처리하는 것은 통계학에서 상당히 중요한 일이다. 통계학에서 N개의 수를 대표하는 기본 통계값에는 다음과 같은 것들이 있다. 단, N은 홀수라고 가정하자. 산술평균 : N개의 수들의 합을 N으로 나눈 값 중앙값 : N개의 수들을 증가하는 순서로 나열했을 경우 그 중앙에 위치하는 값 최빈값 : N개의 수들 중 가장 많이 나타나는 값 범위 : N개의 수들 중 최댓값과 최솟값의 차이 N개의 수가 주어졌을 때, 네 가지 기본 통계값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. 출력 첫째 줄에는 산술평..
📎 백준 10867번 풀러 가기 문제 N개의 정수가 주어진다. 이때, N개의 정수를 오름차순으로 정렬하는 프로그램을 작성하시오. 같은 정수는 한 번만 출력한다. 입력 첫째 줄에 수의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 출력 첫째 줄에 수를 오름차순으로 정렬한 결과를 출력한다. 이때, 같은 수는 한 번만 출력한다. 정말정말 오랜만에 백준에 들어가보았다. 이번 방학에는 알고리즘 공부 좀 해볼 생각이다. 아무튼 그래서 처음 잡은 건 간단한 정렬문제! 인 줄 알았다. 처음에 딱 보자마자 set을 쓰면 금방 해결되겠네~ 했는데 sort를 하려고 했더니 에러가 뜨는 것이다. 그래서 set을 검색해보니 set은 순서가..
Flutter 공부를 하는 중인데, emulator가 아무리 기다려도 계속 reboot 상태여서 구글링을 해보았더니, restart를 하라고 해서 restart를 했더니 정상적으로 emulator가 동작하는 것을 확인할 수 있었다. Android Studio 를 자주 다루시는 분들은 익숙하시겠지만, 나처럼 다룬지 얼마 안 되신 분들은 emulator를 어떻게 restart 하는지 헤맬 수 있을 것 같아서 글로 남긴다. 먼저, Emulator를 종료하고 Android Studio에서 오른쪽 상단의 메뉴바에서 AVD Manager를 선택한다. AVD Manager가 열리면, 문제가 있는 Emulator의 가장 오른쪽에 있는 Actions의 역삼각형 아이콘을 클릭한다. 나의 경우, Pixel_3a_API_30..
이 글은 Standford 대학의 Jennifer Widom 교수님의 강의노트를 바탕으로 postgreSQL을 사용하여 정리한 글입니다. 잘못된 내용, 혹은 수정해야할 사항이 있다면 댓글로 알려주시면 감사하겠습니다. SQL의 SELECT 문은 다음과 같은 구조를 기본적으로 가지고 있다. 그럼 예제를 통해 SELECT 문의 활용에 대해서 알아보자. table의 가로는 tuple 혹은 row라고 부르며, table의 세로는 attribute 혹은 column이라고 부른다. 이 글에서는 table의 가로를 tuple, 세로를 attribute라고 부르겠다. 먼저, 다음과 같은 College, Student, Apply의 3가지 table이 있다고 하자. 나는 학생들 중에, GPA가 3.6 보다 큰 학생들의 학..
다음은 사이토 고키의 밑바닥부터 시작하는 딥러닝을 읽고 정리한 내용입니다. 잘못된 내용, 혹은 수정해야할 사항이 있다면 댓글로 알려주시면 감사하겠습니다. 퍼셉트론(perceptron)은 1957년, 프랑크 로젠블라트가 고안한 알고리즘이다. 퍼셉트론은 신경망(딥러닝)의 기원이 되는 알고리즘이기 때문에 그 구조를 배워야 한다. 1. 퍼셉트론이란? 퍼셉트론은 다수의 신호를 입력으로 받아 하나의 신호를 출력한다. 퍼셉트론 신호는 1이나 0의 두 가지 값을 가질 수 있다. 다음과 같은 구조를 가지고 있다. 여기에서 x1과 x2는 입력 신호, y는 출력 신호, w1과 w2는 가중치를 뜻한다. 입력 신호가 뉴런에 보내질 때는 각각 고유한 가중치가 곱해진다. (w1x1, w2,x2) 뉴런에서 보내온 신호의 총합이 정해..
파이썬 라이브러리를 활용한 데이터 분석 - 웨스 맥키니 pandas는 NumPy 기반에서 개발되어 NumPy를 사용하는 애플리케이션에서 쉽게 사용할 수 있다 Pandas에서는 Series 와 DataFramde이라는 두 가지 자료구조에 익숙해질 필요가 있다. 일련의 객체를 담을 수 있는 1차원 배열 같은 자료 구조 index라고 하는 배열의 데이터에 연관된 이름을 가지고 있다. Series 객체의 문자열 표현은 왼쪽에 색인을 보여주고 오른쪽에 해당 색인의 값을 보여준다. Boolean 배열을 사용해서 값을 걸러내거나, 산술 곱셈을 수행하거나, 수학 함수를 적용하는 등 NumPy 배열 연산을 수행해도 색인-값 연결은 유지된다 파이썬의 딕셔너리에 데이터를 저장해야 한다면, 파이썬 사전 객체로부터 Series..
파이썬 알고리즘 인터뷰 - 박상길 파이썬의 리스트는 c++의 vector나, 자바의 ArrayList처럼 동적 배열을 구현한 자료형이다. 파이썬 리스트를 사용하면 스택을 사용할지, 큐를 사용할지 고민하지 않아도 되며, 스택과 큐에서 사용 가능한 모든 연산을 함께 제공한다. 리스트에 주로 큐의 연산을 사용할 때는 시간 복잡도가 증가할 수 있음으로, 주의해야 한다. len(a) O(1) 전체 요소의 개수를 리턴 a[i] O(1) 인덱스 i의 요소를 가져온다 a[i:j] O(k) i부터 j까지 슬라이스의 길이만큼인 k개의 요소를 가져옴. 이 경우 객체 k개에 대한 조회가 필요하기 때문에 O(k)가 된다 elem in a O(n) elem 요소가 존재하는지 확인한다. 처음부터 순차 탐색하므로 n만큼 시간이 소요..