본문 바로가기

분류 전체보기192

[Algorithm] 알고리즘 : 유클리드 호제법(최대공약수 구하는 알고리즘) 유클리드 호제법 개념 최대공약수를 구하는 하나의 알고리즘(문제 해결 방식) ㄴHow? 큰 수를 작은 수로 나누어 나머지가 0이 되도록 만들어 주는 수가 최대공약수(GCD) 왜 나오게 됬을까? 일반적으로, 최대공약수를 구할 때에는 두 수 각각을 소인수 분해하여 공통된 소수를 찾으면 된다. 16 = 2 * 2 * 2 * 2 24 = 2 * 2 * 2 * 3 최대공약수 : 8 컴퓨터의 세계에서 두 수가 적을 때에 위의 방식은 정말 편하다. 하지만 엄청난 큰 수로 구하려고 한다면 어떻게 될까? (23123과 1231424 등) 엄청난 큰 수를 쪼개고 쪼개고 하게 된다면 시간적 소모가 크고, 메모리적 낭비가 발생할 수밖에 없다. (시간 대비 결과, 메모리 공간적 대비 결과가 낭비가 된다.) Ex) 1분이면 끝낼 .. 2020. 10. 13.
[Data Structure] 자료구조 : 재귀(Recursion)란? 재귀(Recursion) 개념 재귀(Recursion)라는 말은 들어봤을 법하다. 영어에서 재귀대명사라는 말을 들어 본 적이 있을 것이다. myself(나 "자신"), yourslef(너 "자신") 이와 비슷한 개념이다. 재귀 함수라는 말에 적용해본다면 "나 자신을 호출하는 함수"를 의미한다. 생각을 해보자. 나 자신을 호출하는데. 계속해서 부른다면 어떻게 될까? 계속해서 반복에 빠지게 된다. 그렇기 때문에 중간에서 탈출 조건을 걸어줘야 한다. 대표적인 예시 2가지는 카운트다운과 팩토리얼 계산이 있다. 재귀 함수 대표 예시(파이썬, C) (1) 1초 까지 카운트 다운(파이썬) 1 2 3 4 5 6 7 8 9 10 11 def countdown(n): print(n) if(n 0! = 1 1! = 1 1 .. 2020. 10. 13.
[Python] 파이썬 변수값 바꾸기(Swap) 파이썬 변수값 바꾸기(Swap) 알고리즘 문제를 풀다가, 알게된 파이썬의 기초적인 문법이다. 언어 시작을 C로 잡았기 때문에 항상 temp를 이용해서 풀어왔었다. 하지만 파이썬에서는 바로 바꿔준다. (1) 변수가 2개 1 2 3 4 5 6 7 8 a = 1 b = 10 a, b = b, a print(a, b) # 1 3 cs (2) 변수가 3개 1 2 3 4 5 6 7 8 9 a = 1 b = 10 c = 100 a,b,c, = c,b,a print(a,b,c) # 100 10 1 cs (3) 변수가 4개 1 2 3 4 5 6 7 8 9 10 a = 1 b = 10 c = 100 d = 1000 a,b,c,d = d,c,b,a print(a,b,c,d) # 1000 100 10 1 cs 일반적인 자리 .. 2020. 10. 11.
[Python] 파이썬 리스트(list)개념과 사용법 [Python] 파이썬 리스트(list) 개념 * 하나의 자료구조(Data Structure)로서 영어단어 List처럼, 여러 개의 데이터 목록들을 담아 놓는 그릇 * []로 표현 num = [1,2,3,4,5] char = ["A","B","C"] string = ["Hi", "Nice to Meet You"] 파이썬 리스트(list) 사용법 (1) Element값이 존재 ㅇ : 집에도 고유한 주소가 있듯이, 리스트에도 주소(Index)가 있으며 0번째부터 시작이 된다. ㄴ1) 숫자 1 2 3 4 num = [1,2,3,4,5] num[0] # 1 cs ㄴ2) 문자 1 2 3 4 char = ["A", "B", "C"] char[0] #'A' cs ㄴ3) 문자열 1 2 3 4 string = ["안녕".. 2020. 10. 10.
[programmers] 프로그래머스 Level1 시저 암호(파이썬 Python) [programmers] 프로그래머스 Level1 시저 암호 (파이썬 Python) * 문제출처 : 프로그래머스 코딩 테스트 연습, 알고리즘 문제 프로그래머스 Level1 시저 암호 1) 문제 프로그래머스 시저 암호 코딩테스트 연습 - 시저 암호 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 AB는 1만큼 밀면 BC가 되고, 3만큼 밀면 DE가 됩니다. z는 1만큼 밀면 a가 programmers.co.kr 제한 조건 1. 공백 - > 공백 밀어도(n) 2. s 길이 result =.. 2020. 10. 10.