본문 바로가기

파이썬39

백준 1373 문제 풀이 """ n = input() n = n[::-1] cnt = 0 result = 0 for i in n: result += (int(i) * (2 ** cnt)) cnt += 1 print('{0:o}'.format(result)) """ n = int(input(), 2) print('{0:o}'.format(n)) 처음에는 문자열을 입력받아서 뒤집고, 자릿수만큼 2를 제곱해준 수를 곱하고 난 결과를 8진수로 변환했는데 시간초과가 발생했다. 검색해보니까 아주 간단했다. 파이썬에서는 2진수로 입력을 받는 기능이 있었다. 그리고 oct 함수로 변환을 했는데, 이 상태에서 그냥 print를 사용하면 아래처럼 8진수임을 알리는 문자 2개가 포함되어 나오기 때문에 format을 이용했다. 파이썬은 기.. 2022. 7. 7.
장고 secret key 분리하기 settings.py에 보면 SECRET_KEY라는 항목이 있다. 이걸 숨기지 않고 깃허브에 업로드하면 메일이 날라온다. 이 secret key는 암호화 인증에 사용된다고 한다. 깃에서도 중요하다고 생각해서 메일을 준 것 같다. 아래의 블로그를 따라 별도의 파일에 secret key를 저장하고 불러오도록 바꿔주었다. [Django 02] - 시크릿 키(SECRET_KEY) 분리 설정 (tistory.com) [Django 02] - 시크릿 키(SECRET_KEY) 분리 설정 시크릿 키란? (SECRET_KEY) 장고 프로젝트를 생성하면, 기본적으로 메인 폴더에 settings.py가 생성된다. settings.py 안에는 다양한 설정 항목들이 있는데 그중 SECRET_KEY라는 것이 있다. Django .. 2022. 7. 1.
간단한 django application 만들기 locallibrary라는 application을 만들어보자. locallibrary라는 디렉토리에서 django-admin 명령어를 이용해 locallibrary라는 프로젝트를 생성한다. django-admin startproject locallibrary 그럼 사진처럼 locallibrary라는 디렉토리가 생기고 그 안을 보면 아래와 같은 파일들이 있음을 알 수 있다. __init__.py - 빈 파일. 파이썬에게 이 디렉토리를 하나의 파이썬 패키지로 다루도록 지시한다. settings.py - 웹사이트의 모든 설정을 포함하고 있음. 이 파일에는 내가 만들 모든 애플리케이션, 정적 파일 위치, db 세부 설정 등을 등록한다. urls.py - 사이트의 URL과 뷰의 연결을 지정한다. 여기에는 모든 U.. 2022. 7. 1.
장고 개발 환경 세팅하기 가상환경 설치하기 왜 로컬에 설치하지 않고 가상환경을 따로 만드나요? -> 운영하는 웹 사이트에 사용된 버전과 로컬에 설치된 버전이 다르면 운영에 문제가 될 수 있기 때문에 만약 로컬에 설치하면 구버전으로 구현된 웹 사이트를 운영하는 중간에 최신 버전으로 개발할 수 없음 그래서 독립적인 환경에서 개발하기 위해 가상 환경을 구축한다. 장고는 파이썬 기반이기 때문에 파이썬 설치를 해야함. 그냥 최신 버전으로 설치해준다. 그리고 윈도우10에서 가상 환경 설정을 해준다. pip install virtualenvwrapper-win (WARNING 메시지는 pip 버전을 업데이트 하라는 것이니 무시해도 괜찮다. 하지만 pip 업데이트를 해주었다.) virtualenvwrapper-win을 설치했으면 가상 환경을 .. 2022. 6. 30.
백준 3711 파이썬 아이디어 학생들이 1명이면 구분 가능하니 무조건 1이 나오도록 하자 학생들이 2명 이상이면 학번을 받는 리스트와 학번을 m으로 나눈 나머지가 담긴 리스트의 길이를 비교해서 똑같으면 m을 출력하자 m으로 나눈 나머지가 담긴 리스트는 set으로 변경했다가 다시 리스트로 바꿔준다. set으로 바꿔주면 중복을 지울 수 있음. 하지만 len 함수의 사용이 불가능하기 때문에 다시 리스트로 변경해줌 import sys for _ in range(int(sys.stdin.readline())): li = [] n = int(sys.stdin.readline()) for __ in range(n): li.append(int(sys.stdin.readline())) if n == 1: print(1) else: cnt =.. 2022. 6. 13.
파이썬 int형 리스트를 join을 이용하여 출력하기 join 함수의 정의 join 함수는 리스트의 요소들을 하나의 문자열로 변환시켜준다. '[구분자]'.join([뽑아올 리스트]) 위의 형태로 사용한다. 아래 코드를 실행하면 join이 어떤 역할을 하는지 쉽게 확인할 수 있다. 테스트 코드 a = ['a', 'b', 'c'] print(''.join(a)) print('-'.join(a)) 실행결과 나는 int형 리스트도 쉽게 join으로 뽑을 수 있다고 생각했지만 되지 않았다. 테스트 코드 n = list(map(int, input())) n = sorted(n, reverse = True) print(''.join(n)) 실행결과 int가 써있는 것을 보아 자료형이 문제구나 라고 생각했다. 그리고 python documentaion에서 join 함수를.. 2022. 6. 11.
728x90