일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- TF-IDF
- Compiler
- ML
- 코딩테스트
- pandas
- BM25
- 해시테이블
- streamlit
- hackerrank
- 구름톤
- NumPy
- xla
- 해커랭크
- python
- 프로그래머스
- 판다스
- 오라클
- sql
- string 모듈
- 코딩
- Relation Extraction
- 프로그래밍
- 코테
- 해시
- 파이썬
- Oracle
- 컴파일러
- 자료구조
- 인터프리터언어
- 컴파일언어
- Today
- Total

구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io 문제 6. 문자열 나누기 해당 문제는 문자열을 분리하는 모든 경우의 수를 조합으로 탐색한 후, 조건에 따라서 점수를 측정하는 완전 탐색 문제입니다. import itertools N = int(input()) # 문자열 길이 S = input() # 문자열 sub = [] for i in range(1, N-1): for j in range(i+1, N): sub.append([S[:i], S[i:j], S[j:]]) # 3개의 부분문자열을 담은 이중 리스트 P = sorted(list(set(list(itertools.chain(*sub))))) # 이중 리스트를 flatten 한 후 중복 ..

구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io 문제 5. 이진수 정렬 해당 문제는 주어진 데이터를 조건에 맞게 변형한 후, 다중 조건에 맞추어 정렬하는 문제입니다. 현대 모비스 알고리즘 대회 변형 문제입니다. N, K = map(int, input().split()) alist = list(map(int, input().split())) def binary_count(a): return str(format(a, 'b')).count("1") alist.sort(reverse=True, key=lambda x:(binary_count(x), x)) print(alist[K-1]) format()을 통해서 10진수 정수를 2진수로 간단하게 변..

구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io 문제 4. 완벽한 햄버거 만들기 해당 문제는 정렬을 활용해서 주어지는 값들이 올바르게 배치되어 있는지 확인하는 문제입니다. 국내 알고리즘 경진대회 변형 문제입니다. N = int(input()) # 재료의 개수 klist = list(map(int, input().split())) # 각 재료의 맛의 정도를 담은 리스트 def hamburger(N, klist): answer = 0 max_k = 0 # 가장 높은 맛의 정도 pre_k = 1000001 # 현재 순회 이전 맛의 정도 값을 저장 temp = True # True이면 맛의 정도 증가, False는 감소 for k in klist:..

구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io 문제 3. 합 계산기 해당 문제는 문자열과 정수가 혼용된 데이터를 적절하게 분리한 후, 부호를 기준으로 모든 결과를 합산하는 문제입니다. W사의 코딩 테스트 변형 문제입니다. T = int(input()) def cal(x, y, sym): if sym == '+': return x + y elif sym == '-': return x - y elif sym == '*': return x * y elif sym == '/': return x // y total = 0 for _ in range(T): x, sym, y = input().split() total += cal(int(x), int..

구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io 문제 2. 프로젝트 매니징 해당 문제는 정수를 시간 단위로 변환 및 연산하는 문제입니다. 시간을 처리하는 문제는 다양하게 활용될 수 있습니다. 구름 레벨 변형 문제입니다. N = int(input()) # 필요한 기능의 개수 T, M = map(int, input().split()) # 시, 분 total = 0 # 모든 기능을 개발하는 데 걸리는 시간 총합 for _ in range(N): total += int(input()) T_final = T + (total + M) // 60 # 끝마친 시간 계산 M_final = (total + M) % 60 # 끝마친 분 계산 if T_final..

구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io 문제 1. 운동 중독 플레이어 해당 문제는 주어진 수식에 따른 결과를 찾아내는 문제입니다. 소수점을 잘 처리해야 하는 기초적인 수학 문제입니다. 구름 레벨 변형 문제입니다. import math W, R = map(int, input().split()) RM = W * (1 + R/30) print(math.trunc(RM)) 소수점 처리는 math.trunc()를 통해서 쉽게 해결할 수 있는 문제였다.
1. itertools.permutations(iterable, r=None) - iterable 객체에서 r개를 뽑는 순열을 구할 수 있다. r개를 지정하지 않을 시 iterable 객체의 길이만큼 뽑게된다. 반환 결과는 generator 형식으로 반환되어 list 자료형으로 변환하여 사용한다. - iterable의 순서에 따라 사전식 순서로 반환된다. 따라서 iterable 객체가 정렬된 상태라면 반환되는 결과도 정렬된 순서로 생성된다. from itertools import permutations nlist = [1, 2, 3, 4] permutations = list(permutations(nlist, 2)) print(permutations) [(1, 2), (1, 3), (1, 4), (2, ..
python 내장 모듈인 bisect를 사용하여 이진 탐색을 수행할 수 있다. 1. bisect.bisect_left(리스트, 값) : 정렬된 순서를 유지하면서 리스트에 값을 삽입할 위치를 찾는다. 해당 값이 이미 리스트에 있다면, 해당 값이 제일 처음 나오는 인덱스가 반환된다. 만약 값이 리스트에 없다면 정렬 순서에 알맞는 인덱스를 반환한다. from bisect import bisect_left nlist = [1, 2, 3, 3, 4] x = 3 print(bisect_left(nlist, x)) 2 from bisect import bisect_left nlist = [1, 2, 3, 3, 4] x = 5 print(bisect_left(nlist, x)) 5 2. bisect.bisect_rig..

https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.fillna.html pandas.DataFrame.fillna — pandas 1.4.2 documentation If method is specified, this is the maximum number of consecutive NaN values to forward/backward fill. In other words, if there is a gap with more than this number of consecutive NaNs, it will only be partially filled. If method is not specified, this is t pandas.pydata...
ord() 함수는 문자의 유니코드 값을 반환하는 함수이다. print(ord('a')) print(ord('A')) 97 65 소문자 a의 경우 97이 반환되고, 대문자 A의 경우 65가 반환된다. 이를 활용하여 알파벳 순서를 숫자로 반환할 수 있다. print(ord('a') - ord('a') + 1) print(ord('b') - ord('a') + 1) print(ord('c') - ord('a') + 1) 1 2 3 a는 소문자 알파벳 순서 첫 번째고 b는 두 번째, c는 세 번째인데 이를 숫자로 표현하려면 위와 같이 해주면 된다. print(ord('a') - 96) print(ord('b') - 96) print(ord('c') - 96) 1 2 3 혹은 위와 같이 96(ord('a) + 1..