Algorithm/Math

·Algorithm/Math
난이도: Lv.3유형: 수학해결 여부: 정답내가 생각했던 아이디어/큰 가닥곱이 최대가 되게하는 합이 정해진 수열을 찾아라 인데. 이건 원래 알고있던거라 당연히 균등해야지 생각하고 바로 했다.너무 쉬워서 뭐가 더 효율적이거나 edge case가 있나 싶었는데 이게 맞았다. 오답 이유해답이딴게 LV.3?굳이 따지면 더 간결한 문법이나 내장함수도 있다는거#기억할 문법 # 몫과 나머지 한번에 구하기quotient, remain = divmod(s, n)# 리스트 한번에 +와 *로 for문 append 없이 만들기temp_list = [value_a] * n + [value_b] * m#내 정답코드def solution(n, s): if n>s: return [-1] answer = []..
·Algorithm/Math
난이도: Lv.2유형: 부분 합, 투 포인터해결 여부: 시간초과 오답아이디어배열에서 연속된 값의 합으로 주어진 값을 만드는 경우를 출력하는 문제다.투포인터와 부분합 문제다.오답 이유 혹은 알게 된것보자마자 startpos와 endpos를 움직이는 투포인터 문제라는 건 잘 캐치했다. 그런데 2가지를 놓쳤다우선 합을 찾았을때도 탐색을 이어나가야 하는데 이때 startpos와 endpos 이동을 처리해주지 않아 무한루프에 걸렸다그리고, 투포인터만 쓰고 부분합을 안써서 시간초과에 걸렸다. 투포인터와 부분합은 같이가야 한다.def solution(sequence, k): answer = [] length = len(sequence) startpos, endpos =0,0 result = se..
·Algorithm/Math
난이도: Lv.1유형: 수학해결 여부: 1회 오답후 바로 정답아이디어주어진 수의 약수의 합을 구하는 문제다오답 이유 혹은 알게 된것매우 쉬운 문제 lv.0 이어도 될듯?근데 제곱수 edge 케이스 한번 빼먹어서 틀렸었다. 프로그래머스가 나를 많이 무시하고 있다. 이런걸 추천해주고.import mathdef solution(n): answer = 0 m=int(math.sqrt(n)) for i in range(1,m+1): if n%i == 0: answer+=i if i != n/i: answer+=n/i return answer
·Algorithm/Math
난이도: Lv.1유형: 수학해결 여부: 정답아이디어배열에서 주어진 숫자 3개의 합으로 나오는 소수의 개수를 구하는 문제이다.조합 계산 후에 정렬하여 가장 큰 값을 기준으로 그 값까지의 소수 리스트를 함수로 만들었다.그래서 소수 개수 리스트가 합 리스트 개수보다 적을 것이라는 것을 이용해 반복문을 돌려 해당 값의 count만큼 답에 추가하게 했다. 오답 이유 혹은 알게 된것itertools에 combinations 사용이 계산을 편리하게 해주었다. 파이썬에 별도의 소수 관련 모듈은 없지만 sqrt를 사용해서 풀었다. from itertools import combinations import mathdef solution(nums): comb = list(combinations(nums,3)) s..
·Algorithm/Math
1074번: Z 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. N > 1인 경우, 배열을 www.acmicpc.net C++로 작성한 백준 문제 1074번 Z에 대한 문제 풀이다. 분할정복 문제로 수학적 추론이 문제를 푸는데 필요한 주요 지식이다. 문제 설명 문제 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. N > 1인 경우, 배열을 크기가 2N-1 × 2N-1로 4등분 한 후에 재귀적으로 순서대로 방문한다. 다음 예는 22 × 2..
·Algorithm/Math
https://www.acmicpc.net/problem/18110 18110번: solved.ac 5명의 15%는 0.75명으로, 이를 반올림하면 1명이다. 따라서 solved.ac는 가장 높은 난이도 의견과 가장 낮은 난이도 의견을 하나씩 제외하고, {5, 5, 7}에 대한 평균으로 문제 난이도를 결정한다. www.acmicpc.net C++로 작성한 백준 문제 18110번 solved.ac에 대한 문제 풀이다. 실버 4문제로 수학, 구현, 정렬이 문제를 푸는데 필요한 주요 지식이다. 문제 설명 문제 solved.ac는 Sogang ICPC Team 학회원들의 알고리즘 공부에 도움을 주고자 만든 서비스이다. 지금은 서강대뿐만 아니라 수많은 사람들이 solved.ac의 도움을 받아 알고리즘 공부를 하고..
걍판자
'Algorithm/Math' 카테고리의 글 목록