반응형

 

카드 뭉치 소스 코드

def solution(cards1, cards2, goal):
    answer = 'Yes'
    cards1_idx = 0
    cards2_idx = 0
    
    for word in goal:
        if cards1_idx != len(cards1) and word == cards1[cards1_idx]:
            # A and B -> A를 먼저 판별 / A에서 통과하면 B를 판별 / A에서 통과하지 않으면 B까지도 가지 않습니다.
            cards1_idx += 1
        else: # 첫번째 카드뭉치에 없다면
            if cards2_idx != len(cards2) and word == cards2[cards2_idx]:
                cards2_idx += 1
            else: # 두번째 카드뭉치에도 없다면
                answer = 'No'
                break
    
    return answer
반응형
반응형

요즘에는 IT 교육을 해주는 곳이 매우 많아졌다.
온라인, 오프라인 상관없이 양질의 강의를 제공하고 있다.
 
오늘은 비전공자들이 취미로 혹은 취업 목적으로 프로그래밍 공부하기 좋은 사이트를 알아보자.
 

1. 인프런(Inflearn)

https://www.inflearn.com/

인프런 - 라이프타임 커리어 플랫폼

프로그래밍, 인공지능, 데이터, 마케팅, 디자인, 엑셀 실무 등 입문부터 실전까지 업계 최고 선배들에게 배울 수 있는 곳. 우리는 성장 기회의 평등을 추구합니다.

www.inflearn.com

 
 
첫번째는 인프런이다.
인프런은 개발자들이 퇴근하고 잠을 줄여가면서 틈틈히 만든 회사로 알고 있다.
처음에는 유튜브, 개인 블로그 등에 각각 올려져 있었던 좋은 품질의 강의를 한 곳에서 볼 수 있게 해주는 목적으로 만들어졌는데,
높은 퀄리티의 강의를 편리하게 볼 수 있다는 부분에서 사용자들의 반응이 매우 좋았다.
지금은 IT 분야에서 다양한 기술을 가진 실력자들이 자체적으로 인프런을 통해 강의를 만들고 있다.
 
ex)
대표적인 사람으로는 전 배달의 민족 CTO 출신의 김영한님이 계시다.
 
 

2. 프로그래머스(Programmers)

https://programmers.co.kr/

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 
 
프로그래머스는 코딩테스트 플랫폼을 서비스하고 있는 회사다.
기업들이 채용 프로세스를 진행할 때 함께 협업하는 회사로 개발자들에게는 잘 알려져 있고,
프로그래머스 school이라는 이름으로 자체적인 강의를 제공한다.
 
경험해보니 매우 높은 품질의 강의를 엄선하여 제공하고 있고, 국비교육 사업도 함께 진행중이므로 국비교육에 관심이 있다면 프로그래머스를 통하여 IT에 입문하며 기본개념을 경험하는 것도 추천한다.
 
+ 프로그래머스는 카카오, 네이버 외에 다양한 굴지의 IT 기업과 함께 제휴를 맺어
코딩테스트를 통해 점수가 높은 사람에게 인턴십 기회를 제공하는 행사도 진행하였다.
 
 
3. 패스트캠퍼스(Fastcampus)
https://fastcampus.co.kr/

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

 
 
마지막 세번째는 패스트캠퍼스다. 
오프라인 교육장을 통해 오프라인 교육도 함께 제공하고 있으며, 다들 한번쯤 들어봤을 것이라 생각한다.
 
IT 교육에 있어서는 위 2개의 사이트보다는 오랫동안 온라인 강의를 제공하고 있고,
IT 외에 영상, 엑셀, 워드, 심리, 커뮤니케이션 등 매우 다양한 분야의 강의를 제공하고 있다.
 
그러나 비전공자 입장에서는 위 2개의 사이트보다 어려운 부분이 많이 있어, 입문자로써는 추천하지 않는다.
실력이 쌓이면 듣는 것을 추천한다.
 
+ 기업과 제휴를 맺어, 제휴된 기업의 직장인이 가입 시 다양한 강의를 무료로 들을 수 있기도 하다.
 
 
 
요즘에는 네이버, 우아한형제들, 삼성 등 다양한 기업들이 다양한 교육 행사를 주기적으로 진행한다.
ex) 네이버 - 부스트캠프 / 우아한형제들 - 우아한 스터디, 우아한 테크캠프 / 삼성 - SAFFY 등
 
전공자 4년의 교육과정이 무색할 정도로 매우 높은 퀄리티의 교육을 제공하는 상황에서
전공 및 출신이 실력에 있어서 큰 차이를 가져다주지 않는 시장이 되었다.
 
제일 중요한 것은 성실성 같다.
매일 조금씩이라도 성장하려고 노력하는 작은 습관이 쌓여서 내공이 되고,
더 creative한 프로그래머가 되는 것이 아닐까 생각한다.

반응형
반응형

 

안녕하세요 Henry입니다~

 

오늘은 프로그래머스 Level 2 문제 중에 최댓값과 최솟값이라는 문제를 풀어보았습니다.

 

왠지 프로그래머스 Level 2 문제 중 가장 쉬운 난이도를 가진 문제일 것 같은데요,

 

저는 정렬과 문자열 인덱싱을 사용하여 문제를 풀었습니다.

 

def solution(s: str) -> str:
    sorted_ls = sorted(s.split(' '), key=lambda x: int(x))
    return sorted_ls[0] + ' ' + sorted_ls[-1]

 

아래는 문제 풀이 영상입니다.

https://youtu.be/4IFhPzwipKA

 

반응형
반응형

 

안녕하세요 Henry입니다~

 

오늘은 프로그래머스의 Level 2 문제인 최솟값 만들기 문제를 풀어보았습니다.

 

이 문제의 핵심은 두 리스트의 값을 곱하여 최솟값이 나오게 하기 위해,

각 리스트의 최댓값과 최솟값을 각각 곱해주어야 한다는 아이디어에서 시작됩니다.

 

저는 sorted라는 파이썬의 내장함수를 사용하였습니다.

제가 문제를 푼 코드입니다.

from typing import List

def solution(A: List[int], B: List[int]) -> int:
    answer = 0
    A = sorted(A)
    B = sorted(B, reverse=True)
    length_of_list = len(A)
    for i in range(length_of_list):
        answer += A[i]*B[i]

    return answer

 

문제 풀이 영상입니다.

https://youtu.be/wfR2srFxxJU

 

- YouTube

 

www.youtube.com

 

반응형
반응형

 

안녕하세요 Henry입니다~

 

오늘은 프로그래머스의 Level 2 문제인 "다음 큰 숫자" 문제를 풀어보았습니다.

 

코딩테스트를 보시면서, 함수를 정의하여 사용하는 방법을 체험해볼 수 있는 좋은 문제라고 생각됩니다.

 

아래는 저의 코드입니다.

def solution(n):
    answer = 0
    target_one_count = get_one_count_from_binary_number(n)
    current_n = n
    while True:
        current_n += 1
        current_one_count = get_one_count_from_binary_number(current_n)
        if current_one_count == target_one_count:
            return current_n
    return answer

def get_one_count_from_binary_number(num: int) -> int:
    return_value: int = 0
    while True:
        num, remainder = divmod(num, 2)
        return_value += remainder
        if num == 0:
            return return_value

 

 

아래는 문제 풀이 영상입니다.

https://youtu.be/jV196NiV1mk

 

반응형
반응형

 

안녕하세요 Henry입니다~

 

오늘은 프로그래머스 문제 중에 비교적 간단한 Level 1문제를 풀어보았습니다.

 

문자열을 다루는 방법과, list comprehension을 사용하면 문제를 깔끔하게 해결할 수 있으실 것 같은 문제입니다.

 

아래는 저의 코드입니다.

def solution(n):
    answer = list(str(n)[::-1])
    return [int(x) for x in answer]

 

아래는 문제 풀이 영상입니다.

https://youtu.be/yww5zVu6Go4

 

- YouTube

 

www.youtube.com

 

반응형
반응형

 

안녕하세요 Henry입니다~

 

오늘도 코딩테스트 문제를 한 문제 풀어보았습니다.

프로그래머스의 Level 1 문제인데요,

 

약수의 합을 구하는 문제입니다.

문제를 풀면서 가장 중요했던 부분은, 약수인지 여부를 탐색하는 기준으로 

해당 index 값의 제곱값이 대상 정수를 넘지 않는 범위에서만 확인을 해주어야 한다는 것입니다.

 

아래는 제가 문제를 푼 코드입니다.

def solution(n):
    answer = 0
    current_number = 1
    while current_number*current_number < n:
        if n%current_number == 0:
            answer += current_number
            answer += n/current_number
        current_number += 1
            
    if current_number*current_number == n:
        answer += current_number
    return answer

 

아래는 문제 풀이 영상입니다.

https://youtu.be/9dd8TBquTxk

 

반응형
반응형

 

안녕하세요 Henry입니다~

 

오늘은 2019 카카오 개발자 겨울 인턴십에 출제되었던 튜플이라는 문제를 풀어보았습니다.

 

프로그래머스의 Level 2 난이도의 문제인데요,

 

문자열을 얼마나 자유자재로 다룰 수 있는지에 대한 능력을 요구하는 문제였습니다.

 

아래는 저의 코드입니다.

 

from typing import List

def solution(s: str) -> List[int]:
    answer = []
    s_list = s[2:-2].split('},{')
    sorted_list = sorted(s_list, key=lambda x: len(x))
    for l in sorted_list:
        ls = l.split(',')
        answer.append(list(set(ls)-set(answer))[0])
    return [int(i) for i in answer]

 

문제 풀이 영상입니다.

https://youtu.be/cjQFj3KVOEQ

 

- YouTube

 

www.youtube.com

 

반응형

+ Recent posts