본문 바로가기

전체 글202

[프로그래머스/Level3] 여행경로 (DFS) 문제 설명 주어진 항공권을 모두 이용하여 여행경로를 짜려고 합니다. 항상 "ICN" 공항에서 출발합니다. 항공권 정보가 담긴 2차원 배열 tickets가 매개변수로 주어질 때, 방문하는 공항 경로를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 모든 공항은 알파벳 대문자 3글자로 이루어집니다. 주어진 공항 수는 3개 이상 10,000개 이하입니다. tickets의 각 행 [a, b]는 a 공항에서 b 공항으로 가는 항공권이 있다는 의미입니다. 주어진 항공권은 모두 사용해야 합니다. 만일 가능한 경로가 2개 이상일 경우 알파벳 순서가 앞서는 경로를 return 합니다. 모든 도시를 방문할 수 없는 경우는 주어지지 않습니다. 입출력 예 tickets result [["ICN".. 2024. 3. 23.
[프로그래머스/Level1] 가장 많이 받은 선물 (2024 KAKAO WINTER INTERNSHIP) 문제 설명 선물을 직접 전하기 힘들 때 카카오톡 선물하기 기능을 이용해 축하 선물을 보낼 수 있습니다. 당신의 친구들이 이번 달까지 선물을 주고받은 기록을 바탕으로 다음 달에 누가 선물을 많이 받을지 예측하려고 합니다. 두 사람이 선물을 주고받은 기록이 있다면, 이번 달까지 두 사람 사이에 더 많은 선물을 준 사람이 다음 달에 선물을 하나 받습니다. 예를 들어 A가 B에게 선물을 5번 줬고, B가 A에게 선물을 3번 줬다면 다음 달엔 A가 B에게 선물을 하나 받습니다. 두 사람이 선물을 주고받은 기록이 하나도 없거나 주고받은 수가 같다면, 선물 지수가 더 큰 사람이 선물 지수가 더 작은 사람에게 선물을 하나 받습니다. 선물 지수는 이번 달까지 자신이 친구들에게 준 선물의 수에서 받은 선물의 수를 뺀 값입.. 2024. 3. 22.
[프로그래머스/Level2] 도넛과 막대 그래프(2024 KAKAO WINTER INTERNSHIP) 문제 설명 도넛 모양 그래프, 막대 모양 그래프, 8자 모양 그래프들이 있습니다. 이 그래프들은 1개 이상의 정점과, 정점들을 연결하는 단방향 간선으로 이루어져 있습니다. 크기가 n인 도넛 모양 그래프는 n개의 정점과 n개의 간선이 있습니다. 도넛 모양 그래프의 아무 한 정점에서 출발해 이용한 적 없는 간선을 계속 따라가면 나머지 n-1개의 정점들을 한 번씩 방문한 뒤 원래 출발했던 정점으로 돌아오게 됩니다. 도넛 모양 그래프의 형태는 다음과 같습니다. 크기가 n인 막대 모양 그래프는 n개의 정점과 n-1개의 간선이 있습니다. 막대 모양 그래프는 임의의 한 정점에서 출발해 간선을 계속 따라가면 나머지 n-1개의 정점을 한 번씩 방문하게 되는 정점이 단 하나 존재합니다. 막대 모양 그래프의 형태는 다음과 .. 2024. 3. 21.
[Python(파이썬)] globals, locals, 변수명 지정 자동화 globals() - 전역변수 globals()를 호출하면 전역 변수를 Dictionary 형태로 불러온다. 딕셔너리처럼 globals()['a'] = 2이면 a -> key, 2 -> value 형태로 key-value 쌍이 된다. locals() - 지역변수 locals()를 호출하면 지역 변수를 Dictionary 형태로 불러온다. 변수명 자동 지정 방법 globals()[f'고정변수명{부여할 값(자동)}'] = 변수에 들어갈 값 for i in range(1, 6): globals()[f'test{i}'] = i * 10 for i in range(1, 6): print('test'+ str(i) + '=' + str(globals()[f'test{i}'])) 2023. 3. 14.
[Blog 만들기] AttributeError: 'NoneType' object has no attribute 'text' AttributeError: 'NoneType' object has no attribute 'text' -> NoneType이라서 text 속성이 없다. 'NoneType' 은 'None'의 의미로 Java, c의 'Null'과 같은 의미이다. cmd의 에러 설명을 보면 아래의 위치에서 에러가 났기 때문에 tests.py 코드의 153번째 줄을 보자. File "C:\Users\user\Documents\GitHub\Blog_do_it_django\blog\tests.py", line 153, in test_category_page self.assertIn(self.category_programming.name, main_area.text) asserIn(a, b) : a in b 따라서 여기 코드에서의.. 2022. 7. 7.
[Blog 만들기] #8 게시물 author 구현 ※ Do it! 장고 + 부트스트랩 파이썬 웹 개발의 정석(이성용, 김태곤 / 이지스퍼블리싱) 책을 참고하여 프로젝트를 진행하고 있습니다. 프로젝트 진행과정 기록하기 위해 작성하고 있으므로 책 저작권으로 인해 간단한 내용 외 자세한 코드와 내용은 작성하지 않습니다. 작성자 정보 담을 author 필드 구현 blog/models.py from django.db import models from django.contrib.auth.models import User # 추가 내용 1 import os class Post(models.Model): # ... 생략 # on_delete=models.CASCADE => 이 포스트의 작성자가 디비에서 삭제되었을 때 이 포스트도 같이 삭제됨 # on_delete=mo.. 2022. 6. 19.
[Blog 만들기] #7 테스트 주도 개발(TDD; Test driven development) ※ Do it! 장고 + 부트스트랩 파이썬 웹 개발의 정석(이성용, 김태곤 / 이지스퍼블리싱) 책을 참고하여 프로젝트를 진행하고 있습니다. 프로젝트 진행과정 기록하기 위해 작성하고 있으므로 책 저작권으로 인해 간단한 내용 외 자세한 코드와 내용은 작성하지 않습니다. 테스트 주도 개발(TDD; Test driven development) 일종의 개발 방식 또는 개발 패턴 개발할 때 바로 개발부터 하는 것이 아니라 개발하려는 항목에 대한 점검 사항을 테스트 코드로 만들고 그 테스트를 통과시키는 방식으로 개발을 진행하는 방법 테스트 주도 개발 적용 하지 않을 때의 과정 구현 -> 직접 확인(웹이나 앱으로 들어가서 잘 작동하는지 일일히 TEST) -> 성공(실패시 다시 수정하여 성공시킴) -> 개선(다시 개발해.. 2022. 6. 19.
[백준(Baekjoon)] 4949 균형잡힌 세상 문제 세계는 균형이 잘 잡혀있어야 한다. 양과 음, 빛과 어둠 그리고 왼쪽 괄호와 오른쪽 괄호처럼 말이다. 정민이의 임무는 어떤 문자열이 주어졌을 때, 괄호들의 균형이 잘 맞춰져 있는지 판단하는 프로그램을 짜는 것이다. 문자열에 포함되는 괄호는 소괄호("()") 와 대괄호("[]")로 2종류이고, 문자열이 균형을 이루는 조건은 아래와 같다. 모든 왼쪽 소괄호("(")는 오른쪽 소괄호(")")와만 짝을 이뤄야 한다. 모든 왼쪽 대괄호("[")는 오른쪽 대괄호("]")와만 짝을 이뤄야 한다. 모든 오른쪽 괄호들은 자신과 짝을 이룰 수 있는 왼쪽 괄호가 존재한다. 모든 괄호들의 짝은 1:1 매칭만 가능하다. 즉, 괄호 하나가 둘 이상의 괄호와 짝지어지지 않는다. 짝을 이루는 두 괄호가 있을 때, 그 사이에 있.. 2022. 4. 17.
[Blog 만들기] #6 IF문 사용하여 블로그 목록 페이지 오류 해결 ※ Do it! 장고 + 부트스트랩 파이썬 웹 개발의 정석(이성용, 김태곤 / 이지스퍼블리싱) 책을 참고하여 프로젝트를 진행하고 있습니다. 프로젝트 진행과정 기록하기 위해 작성하고 있으므로 책 저작권으로 인해 간단한 내용 외 자세한 코드와 내용은 작성하지 않습니다. if문 사용 방법 if : 시작 - {% if 조건1 %} , 끝 - {% endif %} elif : {% elif 조건2 %} else : {% else %} 1. 대표 이미지 없는 포스트 게시 대표 이미지가 없는 게시물을 게시했을 때 오류가 발생한다. The 'head_image' attribute has no file associated with it. 이 문제를 해결하기 위해서는 IF문을 사용하여 대표 이미지가 있을 때는 대표 이미지.. 2022. 4. 10.
[Blog 만들기] #5 블로그 포스트 미디어 파일 넣기 ※ Do it! 장고 + 부트스트랩 파이썬 웹 개발의 정석(이성용, 김태곤 / 이지스퍼블리싱) 책을 참고하여 프로젝트를 진행하고 있습니다. 프로젝트 진행과정을 기록하기 위해 작성하고 있으므로 책 저작권을 위해서 간단한 내용 외 자세한 코드와 내용은 작성하지 않습니다. 미디어 파일 저장하기 프로젝트파일/settings.py 도메인 뒤에 /media/라는 경로가 따라오면 미디어 파일을 사용하겠다는 의미 MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, '_media') 프로젝트파일/urls.py urls.py에서 media URL에 대한 설정을 추가해야 한다. from django.conf import settings from django.conf.url.. 2022. 4. 8.