Algorithm

Algorithm/Study

Linked List 구현

class Node: def __init__(self, value): self.value = value self.next = Noneclass LinkedList(object): def __init__(self): self.head = None self.tail = None def append(self, value): new_node = Node(value) if self.head is None: self.head = new_node self.tail = new_node else: self.tail.next = new_node ..

Algorithm/Study

시간복잡도

알고리즘 문제 풀기 : Step1) 문제 이해하기, Step2) 접근 방법, Step3) 코드 설계, Step4) 코드 구현 1. 시간복잡도 시간복잡도에 데이터의 크기(n)를 넣어서 나온 값이 100,000,000(10^8)이 넘게 되면, 코딩테스트에서 시간 초과할 가능성이 있다. 그러므로, 관행적으로 10^8을 넘지 않도록 유의한다. 2. 제약조건 한 문제의 다양한 제약조건 중 시간이 증가할만한 것을 N의 기준으로 삼는다. 3. Big-O Notation T(n) = n^2 + 2n + 1에서 +1과 2n은 무시될 수 있다. 1 무시 이유 : n의 변화에 따른 T(n)의 변화 정도 판단이 목적 2n 무시 이유 : n이 증가할 수록 2n의 비율이 미미해진다. 따라서 T(n) = n^2 + 2n + 1에서..

Algorithm/Study

자료구조 기초

자료구조 분류 1. 단순구조 정수 실수 문자 문자열 2. 선형구조 // 자료들 사이의 관계가 1:1 관계 리스트 스택 큐 3. 비선형구조 // 자료들 사이의 관계가 1다 or 다:다 관계 트리 그래프 4. 파일구조 // 서로 관련 있는 필드로 구성된 레코드의 집한인 파일에 대한 구조 순차파일 색인파일 직접파일 추상 자료형 (Abstract Data Type, ADT) 구체적인 기능의 완성 과정을 언급하지 않고, 순수하게 기능이 무엇인지를 나열하는 것 추상화란 시스템의 간략화된 기술 또는 명세 ex) 자판기, 전자레인지 -> 기능만 나열한 것 자료구조 학습 순서 1. 자료구조의 ADT 정의 2. ADT를 근거로 자료구조를 활용하는 main 함수 정의 3. ADT를 근거로 자료구조 구현 복잡도 (Comple..

Algorithm/Programmers

120864. 숨어있는 숫자의 덧셈 (2)// Python

성능 요약 메모리: 10.4 MB, 시간: 0.03 ms 구분 코딩테스트 연습 > 코딩테스트 입문 채점결과 정확성: 100.0 합계: 100.0 / 100.0 문제 설명 문자열 my_string이 매개변수로 주어집니다. my_string은 소문자, 대문자, 자연수로만 구성되어있습니다. my_string안의 자연수들의 합을 return하도록 solution 함수를 완성해주세요 내 풀이 def solution(my_string): answer = 0 temp = '' num = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'] for i in my_string: if i in num: temp += i else: if temp != '': a = int(temp) a..

Algorithm/Programmers

[level 1] 문자열 내 p와 y의 개수 - 12916 // Python

성능 요약 메모리: 10 MB, 시간: 0.00 ms 구분 코딩테스트 연습 > 연습문제 채점결과 정확성: 100.0 합계: 100.0 / 100.0 문제 설명 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다. 내 풀이 def solution(s): answer = True s1 = s.lower() p = 0 y = 0 for i in s1: if i == 'p': p += 1 elif i == 'y': y += 1 if p == y: retur..

Algorithm/LeetCode

Two Sum // Python

Two Sum Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target. You may assume that each input would have exactly one solution, and you may not use the same element twice. You can return the answer in any order. Constraints: 2

Algorithm

powerOfTwo // Java

public boolean powerOfTwo(long num) { while (num >= 1) { num = num / 2; if (num == 1) { return true; } else if (num % 2 > 0) { return false; } } return true; }

Algorithm/Programmers

[level 0] k의 개수 - 120887 // Python

성능 요약 메모리: 10.2 MB, 시간: 26.25 ms 구분 코딩테스트 연습 > 코딩테스트 입문 채점결과 정확성: 100.0 합계: 100.0 / 100.0 문제 설명 1부터 13까지의 수에서, 1은 1, 10, 11, 12, 13 이렇게 총 6번 등장합니다. 정수 i, j, k가 매개변수로 주어질 때, i부터 j까지 k가 몇 번 등장하는지 return 하도록 solution 함수를 완성해주세요. 내 풀이 def solution(i, j, k): # 1 , 13 ,1 -> 6 answer = 0 for a in range(i, j+1): b = str(a) for c in range(0, len(b)): if b[c] == str(k): answer += 1 return answer 얻어갈 점 str..

AidenYoun
'Algorithm' 카테고리의 글 목록