[문자열][programmers]문자열 압축 - 2020 KAKAO BLIND RECRUITMENT 포스팅 썸네일 이미지

알고리즘

[문자열][programmers]문자열 압축 - 2020 KAKAO BLIND RECRUITMENT

문제 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자열에서 같은 값이 연속해서 나타나는 것을 그 문자의 개수와 반복되는 값으로 표현하여 더 짧은 문자열로 줄여서 표현하는 알고리즘을 공부하고 있습니다. 간단한 예로 "aabbaccc"의 경우 "2a2ba3c"(문자가 반복되지 않아 한번만 나타난 경우 1은 생략함)와 같이 표현할 수 있는데, 이러한 방식은 반복되는 문자가 적은 경우 압축률이 낮다는 단점이 있습니다. 예를 들면, "abcabcdede"와 같은 문자열은 전혀 압축되지 않습니다. "어피치"는 이러한 단점을 해결하기 위해 문자열을 1개 이상의 단위로 잘라서 ..

2021.10.07 게시됨

[문자열][programmers]이상한 문자 만들기 포스팅 썸네일 이미지

알고리즘

[문자열][programmers]이상한 문자 만들기

문제 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. https://programmers.co.kr/learn/courses/30/lessons/12930 코딩테스트 연습 - 이상한 문자 만들기 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 programmers.co.kr 이해 입력 s : 한 개 이상의 단어로 구성된 문자열 각 단어는 하나 이상의 공백문자로 구분 출력 수정된 문자열..

2021.10.05 게시됨

[문자열][programmers] 문자열 내 마음대로 정렬하기 포스팅 썸네일 이미지

알고리즘

[문자열][programmers] 문자열 내 마음대로 정렬하기

문제 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다. https://programmers.co.kr/learn/courses/30/lessons/12915 코딩테스트 연습 - 문자열 내 마음대로 정렬하기 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱 programmers..

2021.10.05 게시됨

[문자열][programmers] 문자열 내림차순으로 배치하기 포스팅 썸네일 이미지

알고리즘

[문자열][programmers] 문자열 내림차순으로 배치하기

문제 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. https://programmers.co.kr/learn/courses/30/lessons/12917 코딩테스트 연습 - 문자열 내림차순으로 배치하기 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 programmers.co.kr 이해 입력 s : str은 길이 1 이상인 문자열 출력 문자를 큰것부터 작은 순으로 정렬된 문자열 조건 대문자는 소문자보다..

2021.10.05 게시됨

[문자열][programmers] 문자열 다루기  기본 포스팅 썸네일 이미지

알고리즘

[문자열][programmers] 문자열 다루기 기본

문제 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴한다. https://programmers.co.kr/learn/courses/30/lessons/12918?language=python 코딩테스트 연습 - 문자열 다루기 기본 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다. 제한 사항 s는 길이 1 programmers.co.kr 이해 입력 s : 길이 1 이상, 길이 8 이하인 문자열 출력 frue fa..

2021.10.05 게시됨

알고리즘

[로드맵] 코딩테스트 학습 개괄

학습 방법 파이썬 알고리즘 인터뷰 (a.k.a 상길북) 백준 문제 프로그래머스 문제 구글링 1. 책 빠르게 읽기 2. 해당 알고리즘에 관한 문제 풀기 3. 코드 리뷰 / 구글링(심화 학습) 기타. 코드 스닙셋 만들기, 블로그에 정리하기 학습 현황 문자열 21.10.04 - 상길북( ~ 6장 문자열 조작) 1회 > 프로그래머스 문자열 기본 더보기 https://programmers.co.kr/learn/courses/30/lessons/12918?language=python 코딩테스트 연습 - 문자열 다루기 기본 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면..

2021.10.04 게시됨

간단한 모션으로 이북 조작하기 포스팅 썸네일 이미지

토이 프로젝트

간단한 모션으로 이북 조작하기

유튜브 채널 - 빵형의 개발도상국 의 에서 배포된 코드를 변형하여 토이프로젝트를 진행하였습니다. 책을 읽을 때 주로 전자책을 읽는다. 전자책의 장점은 시간과 장소에 관계 없이 읽을 수 있다는 점과 종이책보다 가격이 낮게 책정되는 점이다. 전자책을 읽을 때 주로 리디북스 앱을 이용한다. 핸드폰, 아이패드, 노트북, 데스크탑... 기기를 가리지 않고 상황에 따라 적절하게 선택한다. 다만 데스크탑으로 볼 때, 27인치 + 4k의 조합에 의해 화면상에 글자가 폭이 넓고 빽빽하게 채워진다. 가까이에서 보면 붉은 벽돌 담의 벽돌을 보는 것 같아서 모니터에서 어느정도 거리를 두고 본다. 그러다 보니 다음 장으로 넘기기 위해 키보드나 마우스로 조작하는 데 번거로움이 있다. 그래서 배운 내용을 활용해 간단 토이프로젝트를..

2021.09.28 게시됨

[딥러닝첫걸음2]실전 모델의 뼈대 만들기 포스팅 썸네일 이미지

딥러닝

[딥러닝첫걸음2]실전 모델의 뼈대 만들기

사용된 개념 데이터 증강(data augmentation), flow, generator CNN 모델의 구조 모델의 절차를 처리 순서에 따라 정리해보자. 첫번째 구조 새로운 개념에 접근하기 위해, 이미 알고있는 상식을 활용해보자 최초 모델의 원형은 다음과 같다. 1. 데이터 전처리하여 학습에 용이한 형태로 가공 2. 알고리즘을 바탕으로 모델 설계 3. 데이터를 모델에 넣어 학습시키기 4. 반복 이런 구조는 직관적이다. 실제로 초기에는 별문제가 없었다. 하지만 시간이 흘러 데이터의 규모가 증가하면서 문제가 발생했다. 1. 이 구조는 학습에 필요한 데이터의 전체 분량(100%)를 메모리(RAM)에 담아야 한다. 2. 학습/실전에 사용되는 데이터의 규모가 수십 GB에서 TB를 넘는다. (Bigdata) 3. ..

2021.09.22 게시됨

[Greedy][programmers]탐욕법 lv1 체육복 포스팅 썸네일 이미지

알고리즘

[Greedy][programmers]탐욕법 lv1 체육복

1. 문제 학생들의 번호 : 체격 순서 (바로 앞 또는 바로 뒤의 학생에게만 체육복을 빌려줄 수 있다.) 2. 이해 입력 전체 학생의 수 : n 체육복 X 학생들의 번호가 담긴 배열 : lost 여벌 체육복 O 학생 번호가 담긴 배열 : reserve 출력 return 체육 수업을 들을 수 있는 학생의 최댓값 조건 1 < n < 31 (n은 자연수) 1 중복O이면 lost, reserve에서 제거 및 lost, reserve를 갱신 2. reserve의 모든 번호를 +-1 하여 can_rend list 만들기 (for문) 3. best can_rend list 찾기 4. answer = n - # of lost 4. 구현 try 1: 65점, fail 의도 : 선택된 번호가 가장 많은 알고리즘 구현 : ..

2021.09.08 게시됨

알고리즘

[Greedy]그리디 알고리즘

현재 상황에 지금 당장 좋은 것만 고르는 방법 그리디 알고리즘은 말 그대로 '탐욕스럽게' 매 순간 최선의 선택을 하는 기법이다. 현재의 선택이 나중에 미칠 영향에 대해서는 고려하지 않기 때문에, 최적해를 찾지 못하는 경우도 생긴다. 이런 단점을 극복하기 위해 가장 좋은 것만 선택하는 방식으로 문제를 풀 수 있는지 고려해야한다. 부분의 최선이 전체의 최선이 되지 못하는 예외 경우가 있는 지 판단하는 것이 관건이다. 그리디 알고리즘은 '사전에 외우고 있지 않아도 풀 수 있을 가능성이 높은 문제 유형'이라는 특징이 있다. 그러나 그리디 알고리즘 자체가 문제 출제의 폭이 매우 넓기 때문에, 여러 유형과 섞여 출제된다. 일반적으로 그리디 알고리즘은 크기가 가장 큰 단위나 기준을 먼저 사용한다. 대표적으로 거스름돈..

2021.09.06 게시됨