전체 글 99

[Python/파이썬] lambda와 sort 정리

파이썬에서 정렬을 할 때 기준(key)로써 사용하는 lambda에 대한 정리 1. 람다(lambda)란? 람다는 익명함수라고도 하며 함수를 딱 한 줄로 완성시켜주는 표현식이다. 2. 람다(lambda)의 장점람다 표현식은 기존의 함수보다 메모리, 속도 측면에서 더 빠르다. 파이썬은 객체지향 프로그래밍 언어이므로 모든 것이 객체로 저장이 된다. 함수 또한 마찬가지.함수를 정의하게 되면 실행하면서 메모리를 쓰게 되는데 , 람다의 경우 함수이지만 일회성이므로 한 번 사용하고 없어진다. 따라서 메모리 소모도 없음! 3. 람다(lambda)의 형태 람다 표현식은 lambda 인자 : 표현식 의 형태를 띄고있다. 4. 람다(lambda)의 사용법 람다는 여러 형태로 사용이 가능하다.fu = lambda x : x ..

Study/Python 2021.03.23

[Django/Python] (진행중) 점프 투 장고 2-1. 주소와 화면을 연결하는 URL과 뷰

이전 내용 1. Python과 Django 설치 ✔️ 2. Pycharm 설치 ✔️ 3. cmd로 프로젝트 디렉토리 생성 (mkdir) ✔️ 4. 가상환경 만들기 ✔️ 5. 환경변수(PATH) 설정 ✔️ 6. 개발서버 구동해보기 ✔️ 1. 앱 생성하고 확인해보기 프로젝트에는 장고가 제공하는 기본 앱과 개발자가 만든 앱 등이 포함될 수 있다. (앱보다 프로젝트가 더 큰 범위) 장고에서 말하는 '앱' 은 우리가 아는 안드로이드/ios 앱과는 다르다. 우리가 만들 파이보 서비스에 필요한 앱을 만들어보자. 명령 프롬프트(or Pycharm 의 터미널) 에서 진행 django-admin startapp pybo 위 명령어를 치면 pybo라는 이름의 디렉토리가 생성됨을 확인할 수 있다. __init__.py, ad..

Study/Python 2021.03.22

[C/C++] C/C++ IDE CLion 설치방법

1. Jetbrains 사이트에 들어가서 CLion 을 다운로드 받는다. www.jetbrains.com/clion/?gclid=CjwKCAjwgOGCBhAlEiwA7FUXkoIn-Fw_VIKvBaxRBSj53RsWCqsypf3P19DLNhsafgVtwrweSr9XvxoCGIkQAvD_BwE&gclsrc=aw.ds CLion: A Cross-Platform IDE for C and C++ by JetBrains A powerful IDE from JetBrains helps you develop in C and C++ on Linux, macOS and Windows. www.jetbrains.com 학생의 경우 학교 이메일이 있으면 Jetbrains Products pack for Students를 이..

Study/C++ 2021.03.22

[백준/파이썬] 1463. 1로 만들기

문제 정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지 이다. 1.X가 3으로 나누어 떨어지면, 3으로 나눈다. 2. X가 2로 나누어 떨어지면, 2로 나눈다. 3. 1을 뺀다. 정수 N이 주어졌을 때, 위와 같은 연산 세 개를 적절히 사용해서 1을 만들려고 한다. 연산을 사용하는 횟수의 최솟값을 출력하시오. www.acmicpc.net/problem/1463 입력 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. 출력 첫째 줄에 연산을 하는 횟수의 최솟값을 출력한다. import sys N = int(sys.stdin.readline()) lis = [0,0,1,1] for i in range(4, N + 1) : lis.append(lis[i-1] + 1) if i %..

[C++/Visual Studio] 비주얼 스튜디오에서 git 사용하기

파이썬을 많이 쓰다보니까 IDE도 Pycharm에 이미 익숙해져 있었다. 그러다가 이번 학기부터 C++을 듣게 되어서 비주얼 스튜디오를 써야했다. 2학년땐가.. C 독학해보겠다고 설치한 이후로 써본적이 없어서 생초보초보다. github에 미리 수업을 위한 레포지토리를 만들어뒀었고, 비주얼 스튜디오에서 그걸 클론받아서 사용하려했음. 하지만 클론을 받으면 코드를 실행할 수 없었다.. 비주얼 스튜디오에서 .exe 파일을 찾을 수 없다고 하면서 실행이 안됐다.. 그래서 전략을 바꿨다. 1. 일단 기존의 깃허브 레포지토리는 삭제. 2. 비주얼 스튜디오에서 프로젝트를 먼저 생성 3. 그다음 비주얼 스튜디오에서 깃 레포지토리를 생성하자. 위 전략대로 시작! 1. Visual Studio에서 프로젝트 생성 오른쪽에서 ..

Study/C++ 2021.03.12

[Python/파이썬] 파이썬 입력받는 방법 with input()과 sys.stdin.readline()

백준 입출력 문제를 풀면서 가장 신경써야했던 부분은 '제한시간'이였다. 문제를 제대로 풀었어도 제한시간을 초과해버리면 오답이기 때문이다. 보편적으로 입력받는 방법은 input함수를 쓰는 방법이다. 나도 input()으로 입력을 받아 문제를 풀었는데 input은 시간이 오래걸려서 시간초과되기 십상이다. (특히 반복문을 써서 여러 줄을 입력받는 경우) input보다 속도가 더 빠른 방법은 없을까? 파이썬의 표준 라이브러리인 sys의 sys.stdin.readline()을 사용하면 더 빠르게 처리할 수 있다!! (sys란? sys 모듈은 파이썬 인터프리터가 제공하는 변수와 함수를 직접 제어할 수 있게 해주는 모듈이다.) 같은 문제라도 5달 전에 푼 문제는 count = int(input()) num = inp..

Study/Python 2021.03.09

[Linux/Ubuntu] 우분투 리눅스 사용자 추가하기

우분투 리눅스에서 root 말고 다른 사용자를 추가해보자. 1. 기본으로 설정된 계정으로 로그인 (root) 2. home directory로 이동 cd ~ 3. adduser 명령어로 사용자 추가 sudo adduser 원하는 user이름 #sudo adduser jimin 4. 패스워드 지정 5. 부가 정보 입력 만약 지정해줄 내용이 없다면 그냥 계속 enter치면 알아서 default 값으로 지정해준다. 만약 정보를 바꾸고 싶다면 usermod 명령어로 변경가능 6. user 가 제대로 생성되었는지 확인 ls 명령어는 해당 디렉토리의 하위 폴더, 파일을 모두 보여줌( 숨김파일 제외 , 숨김파일도 보고 싶으면 ls-al) ls /home/ 아까 adduser로 만든 이름이 있으면 성공! 7. 추가확인..

Study/Linux 2021.03.08

[백준/파이썬] 2839. 설탕배달

문제 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. 상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수 있다. 상근이가 설탕을 정확하게 N킬로그램 배달해야 할 때, 봉지 몇 개를 가져가면 되는지 그 수를 구하는 프로그램을 작성하시오 www.acmicpc.net/problem/2839 입력 첫째 줄에 N이 주어진다. (3 ≤ N ≤ 5000) 출력 상근이가..

[백준/파이썬] 10870. 피보나치 수 5

문제 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 된다. n=17일때 까지 피보나치 수를 써보면 다음과 같다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597 n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하시오. www.acmicpc.net/problem/10870 입력 첫째 줄에 n이 주어진다. n은 20보다 작거나 같은 자연수 또는 0이다. 출력 첫째 줄에 n번째 피보나치 수를 출력한다. 아이디어 다이나믹 프로그래밍의 대표예제 ..

[Python/파이썬] 리스트의 두 요소 위치 변경하기 (스와프,swap)

파이썬의 리스트 요소의 위치를 변경하고 싶을 때 사용하는 간단한 방법을 소개한다. #리스트의 0번째 요소와 3번째 요소의 값을 변경하고 싶다. array = [1,2,3,4,5] #스와프 array[0], array[3] = array[3], array[0] print(array) #[4,2,3,1,5] 만약에 리스트의 0번째 요소와 3번째 요소의 값을 변경하고 싶다면, 파이썬에서 사용하는 대입 연산자를 이용해 간단하게 표현이 가능하다. 코드를 해석해보자면 array의 0번째 요소에 3번째 요소를 넣고, array의 3번째 요소에 0번째 요소를 넣는다는 뜻. 호기심에 해봤는데 요소 3개도 위치 변경이 가능하다. array = [1,3,5,7] array[0], array[1] , array[3] = ar..

Study/Python 2021.02.10