목록전체 글 (152)
호기심 많은 분석가
9625번: BABBA 상근이는 길을 걷다가 신기한 기계를 발견했다. 기계는 매우 매우 큰 화면과 버튼 하나로 이루어져 있다. 기계를 발견했을 때, 화면에는 A만 표시되어져 있었다. 버튼을 누르니 글자가 B로 변했 www.acmicpc.net n = int(input()) d = [[] for _ in range(n+1)] d[0] = [1, 0] d[1] = [0, 1] for i in range(2, n+1) : d[i] = [d[i-1][0] + d[i-2][0], d[i-1][1] + d[i-2][1]] print(d[n][0], end=' ') print(d[n][1]) 며칠 전 펜과 노트를 안 가지고 있어서 머리로 한참 고민하다가 나중에 펜이랑 노트 가져와서 다시 풀고자 마음먹은 문제였다. 식..
코딩 테스트를 준비하다 보면 input의 경우 런타임 에러가 뜰 때가 있다. 실제로도 이것 때문에 애를 먹었는데, 이 것을 방지해줄 sys 라이브러리의 readline() 문법을 알아보자. 1. 한 개의 정수 입력받기 import sys a = int(sys.stdin.readline()) sys.stdin.readline()의 경우 한 줄 단위로 입력받기 때문에, 개행 문자가 같이 입력된다. 1을 입력한다면 '1\n'의 형태로 입력되기 때문에, int형으로 변환시켜줘야 함. 2. 임의의 개수의 정수를 한 줄에 입력받아 리스트에 저장 import sys arr = list(map(int, sys.stdin.readline().split())) input과 사용법이 크게 다르지 않다. split()을 통하..
일전에 포스팅했던 2021.05.04 - [Machine Learning] - [SQL] DB(데이터베이스)의 data를 csv로 추출하는 법이 Local에서는 별 무리 없이 돌아갔는데 서버에서 하나의 문제점이 발생했다. [SQL] DB(데이터베이스)의 data를 csv로 추출하는 법 포스팅 개요 보통의 공모전이나 캐글은 csv 형태의 파일을 제공하고 시작하기에 데이터를 추출하는 역량이 필요해 보이지 않을 수 있습니다. 하지만 현업에서는 그런 편한 상황은 주어지지 않 herjh0405.tistory.com 서버에서 작업을 편하게 하기 위해 VS code로 연결해서 사용하고 있었는데 /var/lib/mysql-files/라는 폴더를 가시화시킬 수 없었다. 데이터를 모두가 편하게 쓸 수 있도록 보기 쉬운 곳..
10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net solved.ac를 시작한김에 CLASS 1부터 해결하려고 했는데 의외의 부분에서 멈칫했다. 테스트 케이스의 개수가 주어지지 않아 당황했고, while문을 썼는데 런타임에러가 발생해 어떻게 해결해야 하나 고민하던 중 간단히 해결되었다. import sys while True : try : arr = list(map(int, sys.stdin.readline().split())) print(arr[0]+arr[1]) except : break try, except 구문을 통해 break를 걸어주면서 해결할 수 있었는데, 기억해두면 좋을 것 같아 포스팅에 남긴다.
포스팅 개요 '혹시나 책에 있을 모든 실수와 오류는 온전히 제 책임이며, 책에 실린 좋은 아이디어와 표현은 모두 리뷰어님들의 조언 덕분입니다. 정말 고맙습니다.'라는 지은이의 글은 나동빈 저자님의 인품을 느낄 수 있는 한 줄이었습니다. 저도 저런 마인드를 가진 사람이 되겠다고 다짐하며 책과의 여정을 떠나보겠습니다. 포스팅 본문 저번 포스팅에서는 다이나믹 프로그래밍에 대해 알아보았습니다. 2021.05.25 - [Coding Test & Algorithm] - [이것이 취업을 위한 코딩 테스트다 with 파이썬] (한빛미디어, 나동빈) Chapter8(1). 다이나믹 프로그래밍 [이것이 취업을 위한 코딩 테스트다 with 파이썬] (한빛미디어, 나동빈) Chapter8(1). 다이나믹 프로그 포스팅 개요 ..
포스팅 개요 '혹시나 책에 있을 모든 실수와 오류는 온전히 제 책임이며, 책에 실린 좋은 아이디어와 표현은 모두 리뷰어님들의 조언 덕분입니다. 정말 고맙습니다.'라는 지은이의 글은 나동빈 저자님의 인품을 느낄 수 있는 한 줄이었습니다. 저도 저런 마인드를 가진 사람이 되겠다고 다짐하며 책과의 여정을 떠나보겠습니다. 포스팅 본문 다이나믹 프로그래밍이란 메모리 공간을 약간 더 사용하여 연산 속도를 비약적으로 증가시키는 기법이다. 다이나믹 프로그래밍에는 탑다운과 바텀업 방식 2가지가 있다. 다이나믹 프로그래밍은 항상 사용할 수는 없으며, 다음 조건을 만족할 때 사용할 수 있다 1. 큰 문제를 작은 문제로 나눌 수 있다. 2. 작은 문제에서 구한 정답은 그것을 포함하는 큰 문제에서도 동일하다. 본 코드는 모두 ..
포스팅 개요 '혹시나 책에 있을 모든 실수와 오류는 온전히 제 책임이며, 책에 실린 좋은 아이디어와 표현은 모두 리뷰어님들의 조언 덕분입니다. 정말 고맙습니다.'라는 지은이의 글은 나동빈 저자님의 인품을 느낄 수 있는 한 줄이었습니다. 저도 저런 마인드를 가진 사람이 되겠다고 다짐하며 책과의 여정을 떠나보겠습니다. 포스팅 본문 이진 탐색은 배열 내부의 데이터가 정렬되어 있어야만 사용할 수 있는 알고리즘이다. 찾으려는 데이터와 중간점 위치에 있는 데이터를 반복적으로 비교해서 원하는 데이터를 찾아낸다. 시간 복잡도가 O(logN)이다. 이진 탐색은 코딩 테스트에서 단골로 나오는 문제이니 암기를 추천한다. 처리해야 할 데이터의 개수나 값이 1000만 단위 이상으로 넘어가면 이진 탐색과 같은 O(logN)의 속..
포스팅 개요 '혹시나 책에 있을 모든 실수와 오류는 온전히 제 책임이며, 책에 실린 좋은 아이디어와 표현은 모두 리뷰어님들의 조언 덕분입니다. 정말 고맙습니다.'라는 지은이의 글은 나동빈 저자님의 인품을 느낄 수 있는 한 줄이었습니다. 저도 저런 마인드를 가진 사람이 되겠다고 다짐하며 책과의 여정을 떠나보겠습니다. 포스팅 본문 지난번 정렬 소스코드를 소개한 Chapter6(1)에 이어 코딩 테스트에서 출제되는 유형을 만나보겠습니다. 2021.05.21 - [Coding Test & Algorithm] - [이것이 취업을 위한 코딩 테스트다 with 파이썬] (한빛미디어, 나동빈) Chapter6(1). 정렬 [이것이 취업을 위한 코딩 테스트다 with 파이썬] (한빛미디어, 나동빈) Chapter6(1)..
포스팅 개요 '혹시나 책에 있을 모든 실수와 오류는 온전히 제 책임이며, 책에 실린 좋은 아이디어와 표현은 모두 리뷰어님들의 조언 덕분입니다. 정말 고맙습니다.'라는 지은이의 글은 나동빈 저자님의 인품을 느낄 수 있는 한 줄이었습니다. 저도 저런 마인드를 가진 사람이 되겠다고 다짐하며 책과의 여정을 떠나보겠습니다. 포스팅 본문 정렬이란 데이터를 특정한 기준에 따라서 순서대로 나열하는 것을 말한다. 프로그램에서 데이터를 가공할 때 대부분 정렬해서 사용하는 경우가 많기에 정렬 알고리즘은 프로그램을 작성할 때 가장 많이 사용되는 알고리즘 중 하나다. 정렬을 공부하면 '알고리즘의 효율성'도 쉽게 이해할 수 있다. 면접에서도 단골 문제로 출제되니 꼭 기억해두자. 데이터를 보고 우리의 뇌는 우리도 모르게 데이터의 ..
목표. MyTable의 DAY라는 column이 11부터 17까지의 값을 가질 때의 address값을 뽑아내 보자 1. 빈 테이블 생성 # MyTable이라는 TABLE이 있을 경우 지워줌 DROP TABLE IF EXISTS `MyTable`; # MyTABLE이라는 TABLE에 ADDRESS(문자열이면서 가변형) CREATE TABLE MyTable (ADDRESS VARCHAR(50)); 2. procedure를 사용한 for문 작성 # 마찬가지로 add_function이라는 procedure가 있을 경우 삭제 DROP procedure IF EXISTS `add_function`; DELIMITER $$ CREATE PROCEDURE add_function() BEGIN DECLARE i INT ..