본문 바로가기

전체 글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.
[programmers] 프로그래머스 Level1 이상한 문자 만들기(파이썬 Python) [programmers] 프로그래머스 Level1 이상한 문자 만들기 (파이썬 Python) * 문제출처 : 프로그래머스 코딩 테스트 연습, 알고리즘 문제 프로그래머스 Level1 이상한 문자 만들기 1) 문제 프로그래머스 이상한 문자 만들기 코딩테스트 연습 - 이상한 문자 만들기 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 programmers.co.kr 2) 풀이 과정 1.문자열의 개수만큼 반복 2. 제한 조건 "먼저" 기술 ㄴ1) 초기화 해줄 것 3. 카운트의 값을 기준으로 짝수이면 대문자 4. 카운트의 값이 홀수이면 소문자 아래의 풀이를 직접 손으로 적어나.. 2020. 10. 5.
티스토리 북클럽(Book Club) 스킨 편집 : 태그 삭제 북클럽(Book Club) 스킨 편집 : 태그 지우기 블로그에 글을 올리다 보면, 스킨을 내가 원하는 상태로 이용하고 싶어 할 때가 있다. 나 같은 경우, 스킨 태그 삭제가 그의 경우에 해당됐다. 최대한 이용자의 입장에서 봤을 때 깔끔한 인터페이스를 제공해주고 싶었기 때문이다. 아래와 같이 진행하면 된다. 1) 관리 버튼을 클릭한다.(블로그 관리 사이트) 2) 스킨 편집을 클릭한다. 3) html 편집 클릭 4) HTML부분에서 부분 확인 5) 주석처리(완료) 2020. 10. 4.
라이브러리(Library)와 프레임워크(Framework) 차이점 라이브러리(Library)와 프레임워크(Framework) 차이 라이브러리와 프레임워크의 차이를 이해하기 위해 우선, 영어단어를 기준으로 이해해보려고 한다. 라이브러리(library) : 우리가 도서관을 갈 때는 우리가 무언가 필요에 의해서 찾으러 갈 때 프레임워크(framework) : 말 그대로 프레임(frame+work), 틀로 짜인 곳에서의 작업 조금 더 쉽게 이미지화를 위해 PC 조립을 통해 예를 들고자 한다. 라이브러리는 조립형 PC의 개별 개별 부품들을 내가 직접 선택하고 부품들을 조립하여 커스터마이징이 가능한 완성형을 만들 수는 있지만 프레임워크는 어느 정도 골격을 갖춘 완성형 PC들을 사기 때문에, 내가 원하는 각각의 부품들로 구성하기가 어려운 점이 있다. 라이브러리는 내가 램을 16G짜.. 2020. 10. 3.
티스토리 블로그 최적화를 위한 북클럽(Book Club) 스킨선택과 이유 블로그 최적화를 위한 북클럽(Book Club) 스킨 선택과 이유 티스토리 블로그를 개설을 하였다면, 그 이후에는 스킨 선택일 것이다. 내가 고른 스킨은 Book Club 스킨이다. 우선 다른 사람들이 추천해주는 스킨을 보고 따라 하기 전에, 티스토리 전체 스킨을 살펴보았다. 전체 스킨을 살펴보고 차이점을 비교해보니 더욱더 명확해졌다. 티스토리 스킨 선택 기준 1. 카테고리가 항상 나와있어야 한다. Why? 이용자가 봤을 때, 한눈에 어떤 블로그이며 어떤 주제를 다루는지 큰 상위 카테고리가 항상 나와있어야 함 2. 이미지 썸네일을 지원하는 (썸네일) 스킨이어야 한다. Why? 블로그에서 글을 대체할 수 있는 것은 이미지(썸네일)이다. 블로그가 좋아하는 로직을 따르기 위해선 선택 3. 반응형이어야 한다. .. 2020. 10. 3.
개발자 기술 블로그?? 티스토리 블로그를 선택한 이유와 과정 "티스토리 블로그를 선택한 이유와 과정" 개발자 기술 블로그를 위하여, 티스토리 블로그를 선택하였다. 적는 단순한 행위가 나에게 큰 자산이 되고, 큰 라이브러리가 될 것이라 생각하였기에 결정하였다. 그렇다면 왜 하필 많고 많은 사이트들 중에서 티스토리인가? 답을 내리기 이전에, 현재 존재하는 블로그 시장들을 살펴볼 필요가 있다. 1. 티스토리 2. 네이버 블로그 3. 워드프레스 4. 깃허브 블로그 5. 브런치 6. 구글 블로그 7. 벨로그 8. 미디엄 9. 기타 등 많은 블로그들 중, 어느 장소를 선택할지에 대한 선택은 매우 신중하게 결정할 수밖에 없었다. 하지만, 이런 고민하는 시간이 길어지면 길어질수록 내 시간과, 에너지는 소모가 되어가고 있었다. 생각만 해나가면, 절대 끝이 없다. 기한을 정해놓고 .. 2020. 10. 3.