전체 글 120

[프로그래머스] '네트워크' 알고리즘 풀이 - Python

Contents 문제 설명 [제한사항] [입출력 예] 알고리즘 분석 [나의 풀이] 문제 설명 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다. 컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주어질 때, 네트워크의 개수를 return 하도록 solution 함수를 작성하시오. 제한사항 컴퓨터의 개수 n은 1 이상 200 이하인 자연수입니다. 각 컴퓨터는 0부터 n-1인 ..

[프로그래머스] '3진법 뒤집기' 알고리즘 풀이 - Python

Contents 문제 설명 [제한사항] [입출력 예] 알고리즘 분석 [나의 풀이] 문제 설명 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수입니다. 입출력 예 n result 45 7 125 229 알고리즘 분석 나의 풀이 def trans(n): ten, three = 0, '' while n != 0: three += str(n%3) n = n // 3 for idx, t in enumerate(three[::-1]): ten += ((3 ** idx) * int(t)) return ten def solution(n): re..

[프로그래머스] '쿼드압축 후 개수 세기' 알고리즘 풀이 - Python

Contents 문제 설명 [제한사항] [입출력 예] 알고리즘 분석 [나의 풀이] [Most 1 의 풀이] 문제 설명 0과 1로 이루어진 2n x 2n 크기의 2차원 정수 배열 arr이 있습니다. 당신은 이 arr을 쿼드 트리와 같은 방식으로 압축하고자 합니다. 구체적인 방식은 다음과 같습니다. 당신이 압축하고자 하는 특정 영역을 S라고 정의합니다. 만약 S 내부에 있는 모든 수가 같은 값이라면, S를 해당 수 하나로 압축시킵니다. 그렇지 않다면, S를 정확히 4개의 균일한 정사각형 영역(입출력 예를 참고해주시기 바랍니다.)으로 쪼갠 뒤, 각 정사각형 영역에 대해 같은 방식의 압축을 시도합니다. arr이 매개변수로 주어집니다. 위와 같은 방식으로 arr을 압축했을 때, 배열에 최종적으로 남는 0의 개수와..

[프로그래머스] '등굣길' 알고리즘 풀이 - Python

Contents 문제 설명 [제한사항] [입출력 예] 알고리즘 분석 [나의 풀이] [Most 1 의 풀이] 문제 설명 계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 집에서 학교까지 가는 길은 m x n 크기의 격자모양으로 나타낼 수 있습니다. 아래 그림은 m = 4, n = 3 인 경우입니다. 가장 왼쪽 위, 즉 집이 있는 곳의 좌표는 (1, 1)로 나타내고 가장 오른쪽 아래, 즉 학교가 있는 곳의 좌표는 (m, n)으로 나타냅니다. 격자의 크기 m, n과 물이 잠긴 지역의 좌표를 담은 2차원 배열 puddles이 매개변수로 주어집니다. 집에서 학교까지 갈 수 있는 최단경로의 개수를 1,000,000,007로 나눈 나머지를 return 하도록 solu..

[메이플스토리] 스타포스 시뮬레이터 코드

전에 만들었던 스타포스 시뮬레이터의 코드 GUI조차 없는 허접한 시뮬이었지만 나름 스스로만든 첫작품 import random import math import os class ItemSample: # 입력받을 정보 # Item_Kind = 0 # 아이템 종류 : 일반템(Nomal), 타일런트(Tyrant) Item_Level = 0 # 아이템 레벨 : 1 ~ 200 사이의 정수 Star_Catch_Percent = 0 # 스타캐치 확률 : 0 ~ 5 % Star_Catch_Kind = 0 # 스타캐치 종류 : 1. 미적용, 2. 합적용, 3.곱적용 Start_Star = 0 # 시작 별 개수 : 0 ~ 24 사이의 정수 Goal_Star = 0 # 목표 별 개수 : 1 ~ 25 사이, Start_Star..

[프로그래머스] '삼각 달팽이' 알고리즘 풀이 - Python

Contents 문제 설명 [제한사항] [입출력 예] 알고리즘 분석 [나의 풀이] [Most 1 의 풀이] 문제 설명 정수 n이 매개변수로 주어집니다. 다음 그림과 같이 밑변의 길이와 높이가 n인 삼각형에서 맨 위 꼭짓점부터 반시계 방향으로 달팽이 채우기를 진행한 후, 첫 행부터 마지막 행까지 모두 순서대로 합친 새로운 배열을 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 1,000 이하입니다. 입출력 예 n return 4 [1,2,9,3,10,8,4,5,6,7] 5 [1,2,12,3,13,11,4,14,15,10,5,6,7,8,9] 6 [1,2,15,3,16,14,4,17,21,13,5,18,19,20,12,6,7,8,9,10,11] 알고리즘 분석 나의 풀이 from..

[Airbn* Clone Coding #3] Admin.py와 Models.py

Contents Django Documentation settings.py Admin.py와 Models.py Django Models 모듈의 종류 Django Documentation Django Documentation : docs.djangoproject.com/ Django Documentation은 말그대로 Django에 관한 정보를 문서화 해놓은 것입니다. Django에 관련된 모든 정보들이 위 URL의 사이트에 들어가 있다고해도 과언이 아닙니다. 주로 이용되는 세부주소를 조금씩 추가해나갈 예정입니다. ① settings.py : docs.djangoproject.com/en/3.1/ref/settings/ setting.py 파일에 대한 문서 Settings.py settings.py에는 d..

[Airbn* Clone Coding #2] DJANGO 소개

Contents Linter 와 Formatter Django Start!! Django의 주요 파일들 Linter 와 Formatter 1. Linter Python은 Compile 언어가 아닙니다. 때문에 Compile을 통하여 에러를 감지할 수가 없습니다. 일단 실행시키고 에러가 발생하면 그때서야 발견이 가능합니다. Linter는 에러가 생길 부분을 미리 감지해서 알려주기 때문에 불편한 상황을 피할 수 있습니다. 간단하게 말해서 코드에 틀린 부분이 있다면 Linter가 "거기 틀렸어."라고 알려주는 것과 같습니다. 대표적인 것 PEP 8 : 파이썬을 위한 스타일 가이드입니다. flake8 : 대표적인 Linter. "pipenv install flake8 --dev"으로 수동 설치가 가능합니다. 2..

[Nomad Coder - Airbn* Clone Coding #1] 환경설정하기

Contents 설치해야 할 프로그램과 이유 직접 설치하기 DJANGO vs FLASK vs REACT DeadSnakes 설치해야 할 프로그램 이 프로젝트를 진행하기 위해서 다운로드 해야 할 프로그램은 다음과 같습니다. Python3 WSL ( Window Subsystem for Linux ) 1, 2 : 윈도우에서 리눅스 명령어를 사용할 수 있게 해준다. Ubuntu 18.04 LTS Pipenv : npm + pkage.json 과 비슷한 것. Django [Pipenv을 설치하는 이유] 파이썬에는 pip( Package Install for Python )라는 패키지 관리자가 존재한다. 여기서 패키지 관리자란 컴퓨터의 운영 체제를 위해 일정한 방식으로 컴퓨터 프로그램의 설치, 업그레이드, 구성,..

Django란 무엇인가?

Contents Django란? 프레임워크(FrameWork) DJANGO vs FLASK vs REACT Django란? Django는 파이썬으로 만들어진 무료 오픈소스 웹 애플리케이션 프레임워크입니다. 프레임워크(FrameWork) Django는 프레임워크입니다. 그 외에도 많은 프레임워크가 있습니다. 대표적인 프레임워크는 다음과 같습니다. Spring : Java의 웹 프레임워크 Django: Python의 웹 프레임워크 Flask: Python의 마이크로 웹 프레임워크 Ruby on Rails: Ruby의 웹 프레임워크 Node.js의 Express.js 프레임워크 웹 프론트엔드의 SPA용 프레임워크 (AngularJS, Angular, Vue.js 등) 그렇다면 프레임워크란 무엇일까요? 그것을 ..