Tree 279

백준 / 1389번 / 케빈 베이컨의 6단계 법칙 (Floyd 알고리즘)

[문제] 케빈 베이컨의 6단계 법칙에 의하면 지구에 있는 모든 사람들은 최대 6단계 이내에서 서로 아는 사람으로 연결될 수 있다. 케빈 베이컨 게임은 임의의 두 사람이 최소 몇 단계 만에 이어질 수 있는지 계산하는 게임이다. 예를 들면, 전혀 상관없을 것 같은 인하대학교의 이강호와 서강대학교의 민세희는 몇 단계만에 이어질 수 있을까? 천민호는 이강호와 같은 학교에 다니는 사이이다. 천민호와 최백준은 Baekjoon Online Judge를 통해 알게 되었다. 최백준과 김선영은 같이 Startlink를 창업했다. 김선영과 김도현은 같은 학교 동아리 소속이다. 김도현과 민세희는 같은 학교에 다니는 사이로 서로 알고 있다. 즉, 이강호-천민호-최백준-김선영-김도현-민세희 와 같이 5단계만 거치면 된다. 케빈 ..

Algorithm/Baekjoon 2023.01.02

백준 / 11659번 / 구간 합 구하기 4 (prefix sum-누적합)

[문제] 수 N개가 주어졌을 때, i번째 수부터 j번째 수까지 합을 구하는 프로그램을 작성하시오. [입력] 첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 둘째 줄에 폭발 문자열이 주어진다. 길이는 1보다 크거나 같고, 36보다 작거나 같다. 두 문자열은 모두 알파벳 소문자와 대문자, 숫자 0, 1, ..., 9로만 이루어져 있다. [출력] 총 M개의 줄에 입력으로 주어진 i번째 수부터 j번째 수까지 합을 출력한다. [제한] 1 ≤ N ≤ 100,000 1 ≤ M ≤ 100,000 1 ≤ i ≤ j ≤ N [예제 입력] 5 3 5 4 3 2 1 1 3 2 4 5 5 [예제 출력] 12 9 1 import java.io.BufferedReader; i..

Algorithm/Baekjoon 2022.12.31

백준 / 9935번 / 문자열 폭발

[문제] 상근이는 문자열에 폭발 문자열을 심어 놓았다. 폭발 문자열이 폭발하면 그 문자는 문자열에서 사라지며, 남은 문자열은 합쳐지게 된다. 폭발은 다음과 같은 과정으로 진행된다. 문자열이 폭발 문자열을 포함하고 있는 경우에, 모든 폭발 문자열이 폭발하게 된다. 남은 문자열을 순서대로 이어 붙여 새로운 문자열을 만든다. 새로 생긴 문자열에 폭발 문자열이 포함되어 있을 수도 있다. 폭발은 폭발 문자열이 문자열에 없을 때까지 계속된다. 상근이는 모든 폭발이 끝난 후에 어떤 문자열이 남는지 구해보려고 한다. 남아있는 문자가 없는 경우가 있다. 이때는 "FRULA"를 출력한다. 폭발 문자열은 같은 문자를 두 개 이상 포함하지 않는다. [입력] 첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, ..

Algorithm/Baekjoon 2022.12.31

백준 / 2178번 / 미로 탐색 (bfs)

[문제] N×M크기의 배열로 표현되는 미로가 있다. 1 0 1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 0 1 1 미로에서 1은 이동할 수 있는 칸을 나타내고, 0은 이동할 수 없는 칸을 나타낸다. 이러한 미로가 주어졌을 때, (1, 1)에서 출발하여 (N, M)의 위치로 이동할 때 지나야 하는 최소의 칸 수를 구하는 프로그램을 작성하시오. 한 칸에서 다른 칸으로 이동할 때, 서로 인접한 칸으로만 이동할 수 있다. 위의 예에서는 15칸을 지나야 (N, M)의 위치로 이동할 수 있다. 칸을 셀 때에는 시작 위치와 도착 위치도 포함한다. [입력] 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어..

Algorithm/Baekjoon 2022.12.31

Programmers / Level 2 / JadenCase 문자열 만들기

[문제설명] 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return 하도록 solution 함수를 완성해주세요. [제한사항] nums에 들어있는 숫자의 개수는 3개 이상 50개 이하입니다. nums의 각 원소는 1 이상 1,000 이하의 자연수이며, 중복된 숫자가 들어있지 않습니다. [입출력 예] "3people unFollowed me" "3people Unfollowed Me" "for the last week" "For The Last Week" public class JadenCase문자열만들기 { public s..

[Django] 기존 테이블에 새로운 column 추가

Django 프로젝트 중, 기존 테이블에 column을 추가할 일이 생겼다! 나중에 혹시나 까먹었을 경우 다시 찾아보기 위해 포스팅으로 정리한다. 1. models.py 에 추가하려는 column 작성 이와 같이 필드와 옵션을 적어주었다. ※ 여기서 주의할 점은 옵션을 주지 않았더니 오류가 떠서 null=True와 blank=True라는 옵션을 추가해주었다. 오류 해결방법 : https://gr616.tistory.com/314?category=918634 [Django] It is impossible to add a non-nullable field 해결방법 기존 테이블에 column을 추가할 때 models.py를 수정 한 후, makemigrations을 했을 때 발생하는 에러이다. 해결 방법은 1..

Discipline 2022.09.15

[Django] It is impossible to add a non-nullable field 해결방법

기존 테이블에 column을 추가할 때 models.py를 수정 한 후, makemigrations을 했을 때 발생하는 에러이다. 해결 방법은 1. null=True 혹은 default='' 넣기 2. makemigrations 폴더 내의 기록들을 지워도 된다면, __init__.py를 제외하고 전부 지우기 나의 경우엔, 생성하려는 컬럼 값이 null인 경우가 있을 수 있어서 null=True와 blank=True를 추가해주었더니 해결됐다.

Errors 2022.09.15

포인터

포인터 포인터 (pointer)는 다른 변수 주소를 갖고 있는 변수이다. 모든 변수는 메모리 공간에 저장되고, 메모리의 각 바이트엔 주소가 매겨져 있다. 이 주소가 포인터에 저장된다. 주소는 컴퓨터에 따라 다를 수 있으므로, 포인터 변수는 대개 정확한 숫자보단 화살표로 그려진다. 위의 그림에서 p는 a란 변수를 가리키는 포인터 변수이다! 해당 그림에 대한 c언어 문장은 아래와 같다. int a = 100; int *p; p = &a; // 변수 a의 주소 저장 int 형의 변수 a가 정의되고, p는 int형을 가리키는 포인터로 정의된다. p가 a를 가리키게 하려면, a의 주소를 p에 대입한다. 변수의 주소는 &연산자를 변수에 적용시켜 추출할 수 있다. 포인터와 관련된 연산자 & 연산자 : 주소 연산자 *..

Algorithm/Study 2022.09.09

구조체

C언어 알고리즘 공부를 하기 시작하면서, 배운지 꽤 오래된 구조체, 포인터 개념 등등을 복습해보려고 한다!... 구조체 복잡한 객체엔 다양한 타입의 데이터들이 한데 묶여져 있다. 배열이 타입이 같은 데이터의 모임이라면, 구조체 (structure)는 타입이 다른 데이터를 묶는 방법이다! C언어에선 "struct" 키워드를 이용해 표기한다. 구조체 형식 struct 구조체이름 { 항목 1; 항목 2; ... }; 구조체 변수는 아래와 같이 생성한다. struct 구조체이름 구조체변수; 예) struct student s; 예로, 학생을 나타내는 구조체를 만든다고 할 때, 구조체에 저장되는 항목들은 아래와 같다. - 문자 배열로 된 이름 - 나이 나타내는 정수값 - 평균평점 나타내는 실수값 struct st..

Algorithm/Study 2022.09.09

Django 시작! 프로젝트 생성 및 Django 앱 작성

Django로 프로젝트를 시작하기 전에 앞서 어느정도 Django에 대해 알고 시작해야 따라가기 수월하지 않을까 싶어 연습해보려 한다. 우선 Python과 Django를 설치했다 샘플 project를 만들어보려 한다. 프로젝트 생성 $ django-admin startproject mysite(프로젝트명) cd 명령으로 코드 저장할 디렉토리로 이동 후, 위의 명령을 수행하면 해당 위치에 디렉토리가 생성된다! startproject 명령어로 무엇이 생성되는가? mysite/ manage.py mysite/ __init__.py settings.py urls.py asgi.py wsgi.py - manage-py : 장고 프로젝트와 다양한 방법으로 상호작용 하는 커맨드라인의 유틸리티 - mysite/ : 디..

Discipline 2022.09.03