소수(Prime Number)는 1이외에 어떠한 값으로도 나눠지지 않는(나머지가 없는) Number를 의미합니다. 이런 소수는 암호악에서 주로 사용되며, 매우 큰 Number가 소수인지 소수가 아니면 어떻 값과 곱해지는지를 사용하는 방법이 사용됩니다.(공개키 암호) 컴퓨터가 해당 Number가 소수인지, 소수가 아니면 어떤 값과 곱해지는지 확인하는 방법은 1. 1~Number까지 나눠서, 나눈 나머지를 확인한다 1_1. 만약 나머지가 0이면 1 이외에 나눠지는 값이 있으므로, 소수가 아님 2. Number의 1/2까지 진행 후 알고리즘 종료 Number의 1/2를 넘어가면, 어차피 Number를 나눠도 1보다 작아지기 때문에 의미가 없습니다. 이렇게 되면 O(1/2N) = O(N)의 시간복잡도를 갖는 P..
프로그래머스의 힙의 첫번째 문제입니다. programmers.co.kr/learn/courses/30/lessons/42626?language=python3 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr 문제는 굉장히 간단합니다. 매운음식을 굉장히 사랑하는 매운음식 성애자가 있고, 모든 음식의 매운 정도가 스코빌 지수라는 값으로 있다고 가정합니다. 이때 가장 안매운 음식이 K이상의 스코빌 지수가 되길 원하는 상태입니다. 만약 안매운 음식이 K이하의 스코빌을 갖는다면 Mix음식 = 가장 안매운 음..

이번 포스팅은 일반 알고리즘을 Pandas를 써서 빠르게 하는 내용입니다.(LOC를 사용한 특정 Col의 Value 바꾸기) 오늘 일하는데, 아래와 같은 상황을 만났습니다. 해당 문제를 단순히 반복문으로 접근하면 아래와 같이 풀이가 가능합니다.import pandas as pdData = pd.DataFrame({"a" : [5,9,7,8,1,2,6,3,7,8,4,9,2,1], "b" : ["A","A","B","D","D","B","A","A","B","D","C","D","C","C"]})Data["c"] = Nonefor i in Data.index: if Data.at[i,"b"]=="C": Data.at[i,"c"] = 1하지만, 위 경우 Data의 길이가 짧으니 가능..

이번 포스팅은 입력 순서가 정해진 트럭의 다리건너기 입니다. programmers.co.kr/learn/courses/30/lessons/42583?language=python3 코딩테스트 연습 - 다리를 지나는 트럭 트럭 여러 대가 강을 가로지르는 일 차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 트럭은 1초에 1만큼 움직이며, 다리 길이 programmers.co.kr 해당 문제의 추상화된 이미지는 아래와 같다고 볼수있습니다. 이번 문제를 살펴보면 1. Truck은 처음 정해진 순서로만 다리에 진입할 수 있다. 2. 한번에 두대 이상의 Truck이 동시에 다리로 진입할 수는 없다. 3. 다리의 하중을 넘게 Truck이 다리위에 올라가진..

이번 포스팅은 컴퓨터가 어떻게 사칙연산을 처리한는지에 대한 포스팅 입니다. 사칙연산 식을 표현할때는 3가지가 있다고 할 수 있습니다. 1.전위표기 2.중위표기 3.후위표기 자 그러면 이제 이런 표기법이 왜 필요한지 의문이 드실겁니다. 우리가 Programming 언어로 Code를 짜고, 해당 Code를 기반으로 Computer가 동작합니다. 사람은 중위 표기법을 바로 이해할 수 있지만 컴퓨터가 중위표기법을 순서대로 해석할 경우 문제가 발생합니다. 사람의 경우 /와 *가 +, -보다 우선순위인걸 알기 때문에 식 전체를 보고, 우선순위부터 계산합니다. 하지만 컴퓨터가 중위표기법 그대로를 받는다면 순서대로 들어온 operand를 계산하기 때문에 실제 필요한 결과와는 다른 값이 나오는것을 확보실 수 있습니다. ..

지난포스팅에서 다수의 List가 있을 때 특정 List를 기준으로 정렬하는 방법에 대해서 포스팅 하였습니다. 하지만 실제 사용할 때는 특정 List뿐만 아니라, 다수의 List를 기준으로 Table을 정리하는 경우가 있습니다. 이 경우에, 정렬할 list의 우선위를 정해주고 정렬을 하게 됩니다. 예를들어서 List1이 [a,a,a,b,b,e,d,s,a], List2가 [1,6,7,9,7,5,2,1,3]라고 한다면 List1의 1순위, List2를 2순위로 설정할 경우 list가 a인 값에 list2는 1,6,7,3이 존재하게 됩니다. 그럼 이제 list1의 값이 같은 List를 부분배열로 하여 한번더 정렬을 시켜주면 됩니다. 이제 이 정렬할 List의 우선순위가 N개 있다고 치면1. N-1번째 List에..
- Total
- Today
- Yesterday
- ai
- 동적계획법
- 이분탐색
- 프로그래머스
- Sort알고리즘
- 사칙연산
- 모바일청첩장
- 자료구조
- 완전탐색 알고리즘
- hash
- GDC
- react
- javascript
- git
- ChatGPT
- GPT
- 셀프모청
- prime number
- 알고리즘
- 코딩테스트
- stack
- 병렬처리
- 청첩장
- 분할정복
- Search알고리즘
- AVX
- Python
- Greedy알고리즘
- SIMD
- LLM
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |