python

Algorithm/Programmers

프로그래머스 LV1 옹알이2

문제 https://school.programmers.co.kr/learn/courses/30/lessons/133499 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 문제를 보자마자 2가지가 떠올랐다. 1. 모든 경우의 수을 리스트에 담아서 그 옹알이 케이스 유무를 체크하는 방법과 문자열 인덱싱을 이용하는 방법 2. 문자열 인덱싱을 이용하여 처리하는 방법 1번 케이스 같은 경우에는 옹알이 케이스를 모두 구하기에는 아마 공간복잡도의 조건에서 위배될 것 같아서 2번째 방법을 고려하여 진행하였다. 여기 주의해야 할 점은 같은 옹알이는 연속으로 하지 못한..

Algorithm/Programmers

프로그래머스 LV1 키패드 누르기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/67256 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 일단 핸드폰 번호, 최단 거리, 그래프 관련한 문제가 있으면 무조건 생각해야 하는 방법이 있는데, 위치를 좌표값 (x, y)로 설정하고 상황을 구현하는 것이다. (예를 들어서 숫자 1번의 위치를 (0, 0)으로 잡으면 숫자 7번의 위치는 (2, 0) , 9번의 위치는 (2, 2)가 된다.) 이렇게 구현 한 다음, 왼손 오른손의 좌표를 (x, y)로 둔 다음 가까운 거리에 따라서 2, 5..

Algorithm/Programmers

프로그래머스 LV1 체육복

문제 https://school.programmers.co.kr/learn/courses/30/lessons/42862 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 일단 지문을 먼저 읽고, 아래 계획을 세우고 코드를 작성하였다. def solution(n, lost, reserve): # n 명중에서 잃어버린 인원수를 뺍니다. n = n - len(lost) # 여유분을 들고있는 학생의 리스트를 reserve_student 라고 정합니다. reserve_student = reserve.copy() """ 체육복이 없는 인원을 순회하면서 여유분을 들..

Algorithm/Programmers

프로그래머스 LV1 두 개 뽑아서 더하기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/68644 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 해당 문제를 한 문장으로 줄여 보자면 다음과 같고, 아래와 같이 문제 풀이를 진행할 수 있다. " 서로 다른 인덱스인 두 개의 값을 더해서 만들어진 값을 오름차순으로 정렬하기 " 이렇게 간단하게 문제를 풀이할 수 있지만 조금 수학적으로 문제를 풀이해 보면 다음과 같다. Q ) 서로 다른 인덱스인 두 개의 값을 뽑는다. 해당 문제을 읽고 나면 먼저 떠올라야 하는 것이 순열과 조합이다. 서..

Algorithm/Programmers

프로그래머스 LV1 덧칠하기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/161989 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 이 문제를 이해하기 위해서 간단하게 문제에서 주어진 입출력 예제를 확인해 보자. 칠해지지 않는 부분 (section) 은 항상 오름차순으로 주어진다. section 부분을 처음부터 순회하면서 덧칠해 나가고, 중복 덧칠을 최소한으로 줄인 상태로, 그 덧칠 횟수 계산하면 그 값이 최소 횟수가 된다. 현재 페인트가 칠해지지 않는 부분이 (2, 3, 6)의 부분이고 최대길이 n = 8, 칠하..

Algorithm/Programmers

프로그래머스 LV1 추억점수

문제 https://school.programmers.co.kr/learn/courses/30/lessons/176963 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 사진들의 추억 점수를 photo에 주어진 순서대로 배열에 담아 return 하는 solution 함수를 작성하는 것이 목표인 문제이다. 해당 문제를 풀기 전에 몇 갖지 제한 사항을 확인하고 넘어가자. - 인물 이름 중에 그리움 점수가 없는 사람도 존재할 수 있으므로 해당 예외 사항 고려 하여야 한다. - photo는 이차원 배열로 주어진다. 해당 문제의 풀이 과정을 그림으로 표현한다 ..

FrameWork/Django

[Django] 관계를 표현하는 Model Field

📚 DBMS에서의 관계 📒 1:N에서의 관계 -> models.ForeignKey로 표현 📒 1:1에서의 관계 -> models.OneToOneField로 표현 📒 M:N에서의 관계 -> models.ManyToManyField로 표현 📚 ForeignKey 1:N 관계에서 N측에 명시합니다. models.ForeignKey(to, on_delete) 📒 to : 대상 모델 클래스를 직접 지정하거나, 클래스명을 문자열로 지정합니다. 자기 참조를 할때는 self로 지정합니다. 📒 on_delete : Record 삭제 시 Rule을 의미한다. 아래와 같은 값들을 사용 할 수 있다. CASCADE FK로 참조하는 다른 모델의 Record도 삭제 (장고 1.X에서의 디폴트값) PROTECT ProtectedE..

JHeaon
'python' 태그의 글 목록 (5 Page)