본문 바로가기

개발자145

5.1_Javascript - Frequency Counter 문제풀이 Udemy - Javascript - Frequency Counter Frequency Counter Write a function called sameFrequency. Given two positive integers, find out if the two numbers have the same frequency of digits. Your solution MUST have the following complexities: Time: O(N) Sample Input: sameFrequency(182,281) // true sameFrequency(34,14) // false sameFrequency(3589578, 5879385) // true sameFrequency(22,222) // false s.. 2023. 1. 7.
Udemy : Python 반복문 Udemy : Python 반복문 For 문으로 평균 구하기 student_heights = input("Input a list of student heights ").split() for n in range(0, len(student_heights)): student_heights[n] = int(student_heights[n]) total_height = 0 student_num = 0 for height in student_heights: total_height += height student_num += 1 print(round(total_height / student_num)) sum() 과 len()을 사용하지 않고 구하기 total_height : 학생들의 키를 구하기 student_num.. 2023. 1. 6.
[Python] 백준 1202 보석 도둑 🧑‍💻 백준 1202 보석 도둑 Gold 2 - 정렬, heapq 각 보석들의 무게와 가치가 주어지면서, 각 가방에 들어갈 수 있는 보석의 최대 무게가 주어진다 각 가방에는 보석 하나 밖에 못 들어간다 즉, 가방에 들어갈 수 있는 보석들 중, 최대의 보석 가치를 가방에 넣는 것이다 문제 풀이 가방에 들어갈 수 있는 보석들 중, 최대의 보석 가치를 가방에 넣는 것 즉 보석들을 각 보석들의 무게 위주로 오름차순으로 정렬을 한다 그리고 가방에 들어갈 수 있는 보석들을 구한다 그 가방에 들어갈 수 있는 보석들 중, 제일 가치가 높은 보석을 가방에 넣으면 된다 heapq 힙은 이진 트리를 사용하면서 우선순위 큐를 구해준다. O(logN) 코드 결과 코드 import heapq N, K = map(int, inpu.. 2023. 1. 6.
3_Javascript - 문제 해결 접근법 Udemy - Javascript 문제 해결 접근법 알고리즘이란? 특정한 작업을 끝내기 위한 과정 또는 단계다 알고리즘 풀이를 더 잘 하기 문제를 해결하기 위해 계획을 짜는 것 일반적인 문제 해결 패턴을 파악하는 것 문제 해결 문제의 이해 코드를 직접 치기 전에, 문제를 이해하는 것이 중요하다 문제를 내가 이해할 수 있도록 정리를 한다 문제에 어떤 입력값이 들어가는가? 내가 짠 코드를 통해 어떤 결과가 나오는지 생각한다 입력값이 있으면, 결과가 잘 나오는가? 데이터를 어떻게 표시할 것인가? 구체적 예제들 쉬운 예제들을 먼저 써놓은다 그리고 그보다 더 어려운 예제들로 진행한다 입력값이 없는 상태에서도 어떻게 결과나 나오는지 생각해본다 유효하지 않은 입력값을 넣어본다 세부 분석 문제에 대한 단계들을 실제로 .. 2023. 1. 5.
2_Javascript - 객체와 배열의 빅오 Udemy - Javascript 객체의 빅오 let instructor = { firstName : "Kelly", isInstructor: true, favoriteNumbers: [1,2,3,4], } Key와 Value가 있다 객체를 사용할 때 정렬이 필요하지 않을 때 데이터를 빠르게 접근을 하거나, 추가를 하거나, 삭제를 할 때 객체의 빅오 추가하기 (Insertion) : O(1) 삭제하기 (Removal) : O(1) 찾기 (Searching) : O(N) Value를 찾는 것 데이터에 접근하기 (Access) : O(1) 객체의 메서드 (Object Methods) object.keys : O(N) object.values : O(N) object.entries : O(N) hasOwnPr.. 2023. 1. 5.
Udemy : Python 모듈 / 리스트 Udemy : Python 모듈 / 리스트 Module, 모듈이란? 차를 생성할 때, 한 사람이 차 한대를 혼자 만들지 않는다 각 사람들이 부품 별로, 차의 부품들을 생성을 해서, 하나의 차를 만든다 이처럼, 개발을 할 때에, 한 프로젝트의 Module, 모듈은 차의 부품이라고 생각하면 된다 Module의 사전적 의미는, 소프트웨어 묘듈 프로그램의 기능을 독립적인 부품으로 분리한 것이 모듈이라고 한다 Random 모듈 사용하기 무작위로 동전의 앞면, 또는 뒷면을 출력하기 import random coin = ["Heads", "Tails"] print(random.choice(coin)) import random 을 통해서 random이라는 모듈을 가지고 온다 그 외에 무작위로 숫자 뽑기 import r.. 2023. 1. 5.
인공지능 - 논리, 사고, 지식 인공지능 - 논리, 사고, 지식 K-MOOC 인공지능 만들기 사고, 논리, 지식 인공지능이 인간의 사고 과정을 모사하는 방법 기호 논리를 이용하여 현실 세계를 모델링 한다 문제와 전제를 기술하는 것 논리 규칙을 적용한다. 문제를 추론하고, 결론을 만들어낸다 예시) 위에 상자들이 놓여 있다 이것을 인공지능은 논리 언어로 정리를 한다 세계 1 같은 경우 순서대로 B 상자 위에 비어 있다 (Clear) B는 A 위에 쌓여있다 (On) C 상자 위에는 아무것도 없다 (Clear) A 상자는 땅 위에 있다 (Floor) / C 상자는 땅 위에 있다 (Floor) 이처럼, 논리식으로 인공지능은 현실 세계를 표상(representation)한다 이러한 논리식을 가지고, 상자들의 움직이는 과정을 추론하고 생각할 수 있.. 2023. 1. 5.
[Python] 백준 1253 - 좋다 🧑‍💻 백준 1253 - 좋다 Gold 4 - 정렬 리스트 안에 있는 어떤 수를, 리스트 안에 있는 두 수의 합으로 나타낼 수 있는 수의 개수를 구하는 것이다 여기서 놓치지 말아야 할 것은, 숫자의 값이 같아도 위치가 다르면 다른 숫자로 간주한다 예시) 원래 그냥 리스트를 정렬을 한 후, 투 포인터를 이용해서 더해서, 더한 숫자가 리스트에 있는지 확인만 하면 되는 줄 알았다 그렇게 되면, 다른 위치에 있어도, 같은 값의 숫자가 카운팅이 잘 안 될 수 있다 그래서 숫자 하나하나 씩 빼고, 그 외의 숫자들을 투 포인터를 사용해서 그 뺐던 숫자와 일치하는지 더해주면 된다 문제 풀이 위 각 변수들의 설명 i : for문을 통해서 정렬된 리스트에 있는 값들을 가지고 온다 (range를 가지고 오면 됨) temp .. 2023. 1. 5.
1_Javascript - Big O Notation Udemy - Javascript Big O Notation 다양한 코드가 있으면, 코드의 성능을 보여주는 것 데이터가 더 많아질 수록, 코드의 성능이 매우 중요해진다 성능이 좋은 코드? addUpTo 예시) n 이 주어지면 1부터 n까지의 합을 구하는 것4 for문을 사용하기 function addUpTo (n) { let total = 0; for (let i = 1; i 2023. 1. 4.