처음 코드 ( 실행시간 1120ms) import sys# 소수 리스트 생성 함수def prime(n): sieve = [True] * (n+1) for i in range(3,int(n**.5)+1,2): if sieve[i]: sieve[i*i::2*i] = [False]*len(sieve[i*i::2*i]) return [2]+[i for i in range(3,n+1,2) if sieve[i]]# 파티션 구하는 함수def getPartition(prime:list,n:int)->str: left, right = 0, len(prime)-1 partition = "" while left n: right -= 1 ..
중요 개념1. 소수 탐색2. 이분탐색법 소스코드import sysdef prime(n): sieve = [True] * (n+1) for i in range(3,int(n**.5)+1,2): if sieve[i]: sieve[i*i::2*i] = [False]*len(sieve[i*i::2*i]) return [2] + [i for i in range(3,n+1,2) if sieve[i]]def Search(prime, n): l,r = 0, len(prime)-1 while l n: r = m-1 else: l = m+1 return lprimeList = prime(123456*2)wh..
첫 코드class Solution { public int[] solution(int[][] score) { int[] answer = new int[score.length]; Integer[] sorted = new Integer[score.length]; List average = new ArrayList(); int before = -1; int before_index = -1; for (int i = 0 ; i 등수를 저장하는 int[] answer평균을 저장하는 List average평균을 저장하고 순서대로 정렬하는 int[] sorted sorted[] 를 정렬한 후에 그 값을 average에 찾아서 그 index를..
1. 문제매 초마다 신호를 발생시키는 두 장치 A, B가 있다. 이 신호는 알파벳 소문자의 서열로 표현된다. A, B로부터 발생한 신호를 서열로 표시한 SA, SB의 예는 다음과 같다.SA = [a, f, c, d, r, d, e, s, d, c, f, w, s, z, r]SB = [g, e, d, s, r, d, d, e, m, z, r]신호 서열의 어떤 구간에 포함된 문자의 종류와 개수가 순서에 상관없이 동일하면 이 두 ‘구간의 성분’은 같다고 한다. 아래에서 박스로 표시된 부분은 두 신호 SA, SB에서 성분이 같은 구간을 나타내고 있다.즉 위의 예와 같이 성분이 같은 구간의 길이는 두 서열에서 반드시 같아야 한다. 그리고 같은 성분 의 구간은 하나 이상 존재할 수 있다. 우리는 두 신호 서열에 각..
Today I learned자료구조 : 데이터 단위와 데이터 자체 사이의 물리적 또는 논리적 관계알고리즘 : 어떠한 문제를 해결하기 위해 정해 놓은 일련의 절차조건문과 반복문을 이용하여 Code를 간결하게 구성하는 것보다 효율적인 것이 더 중요하다.enumerate() mothod는 iterable한 자료형을 받아 index와 value를 묶어 tuple 형태로 꺼낸다.깊은 복사 : 참조값 뿐만 아니라 참조하는 객체 자체를 복사한다.얕은 복사 : 참조값만 복사한다.