목록분류 전체보기 (182)
on my way
땅따먹기 게임 문제 풀이문제 설명땅따먹기 게임은 N행 4열로 이루어진 배열 형태의 땅을 가지고 진행됩니다. 게임의 규칙은 다음과 같습니다:각 행의 4개 숫자 중 하나를 선택하여 점수를 획득합니다.한 행씩 내려오며 점수를 얻어야 합니다.같은 열을 연속으로 선택할 수 없습니다.예를 들어, 다음과 같은 배열이 주어졌을 때:1 2 3 55 6 7 84 3 2 1첫 번째 행에서 네 번째 칸(5)을 선택하고, 두 번째 행에서 두 번째 칸(6)을 선택하며, 세 번째 행에서 첫 번째 칸(4)을 선택하는 방식으로 진행됩니다. 이 때, 얻을 수 있는 점수의 최대값을 구하는 문제입니다.제한사항행의 개수 N: 100,000 이하의 자연수열의 개수는 4개점수: 100 이하의 자연수문제 접근 방식DP 방식 구현DP 테이블 초기화..
Python 코딩테스트 08: 다이나믹 프로그래밍(DP)다이나믹 프로그래밍(Dynamic Programming, DP)은 큰 문제를 작은 문제로 나누어 푸는 방법론입니다.이 방법론은 작은 문제들의 해답을 이용해 큰 문제의 해답을 찾는 과정에서 효율적인 메모리 사용과 계산 속도 향상을 목표로 합니다. DP는 주로 두 가지 속성을 가지는 문제에 적합합니다:최적 부분 구조(Optimal Substructure)와 중복되는 부분 문제(Overlapping Subproblems)입니다.다이나믹 프로그래밍의 기본 원리최적 부분 구조 (Optimal Substructure)문제를 작은 하위 문제들로 나누고, 이 하위 문제들의 해답을 이용하여 원래 문제의 해답을 도출할 수 있는 속성입니다.예를 들어, 피보나치 수열의 ..
]CORS(Cross-Origin Resource Sharing)는 웹 브라우저에서 다른 출처(도메인, 프로토콜, 포트)의 리소스에 접근할 수 있도록 허용하는 보안 기능입니다. 기본적으로 웹 브라우저는 보안상의 이유로 동일 출처 정책(Same-Origin Policy)을 따르며, 이 정책은 다른 출처에서 리소스를 요청하는 것을 제한합니다. CORS는 이러한 제한을 완화하여 특정 조건 하에 다른 출처의 리소스에 접근할 수 있도록 합니다.CORS의 필요성웹 애플리케이션은 종종 다른 도메인의 리소스에 접근해야 하는 경우가 있습니다. 예를 들어, example.com 도메인에서 실행되는 웹 애플리케이션이 api.example.com 도메인에 있는 API에 요청을 보내는 경우입니다. 동일 출처 정책에 따르면, 이..
https://school.programmers.co.kr/learn/courses/30/lessons/92334[프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr](https://school.programmers.co.kr/learn/courses/30/lessons/92334)초기 코드 설명 및 최종 버전 수정 과정초기 코드 설명def solution(id_list, report, k): blacklist = dict(zip(id_list, [0 for _ in range(len(id_list))])) reportlist = dict(zip(id_..
https://school.programmers.co.kr/learn/courses/30/lessons/136798 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 처음 틀린 코드def getDivisor(n): cnt = 0 for i in range(1, n+1): if n%i==0: cnt +=1 return cntdef solution(number, limit, power): return sum([getDivisor(i) if getDivisor(i) 효율성 문제:getDivisor 함수에서 1부..
이 문제의 목표는 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 구하는 것이다.소수는 1과 자기 자신으로만 나누어지는 수를 의미한다.코드import mathdef isPrime(n): for i in range(2, int(math.sqrt(n)) + 1): if n % i == 0: return False return Truedef solution(n): return sum([isPrime(n) for n in range(2, n + 1)]) 문제 해설isPrime(n) 함수: 주어진 숫자 n이 소수인지 판별하는 함수이다.입력: 정수 n출력: True 또는 False작동 원리:입력된 숫자 n의 제곱근까지의 수를 검사한다.제곱근까지만 검사하는 이유는,..