본문 바로가기

전체 글

(69)
[Programmers] Level3 - 하노이의 탑 (연습문제) Python 풀이 문제 하노이 탑(Tower of Hanoi)은 퍼즐의 일종입니다. 세 개의 기둥과 이 기동에 꽂을 수 있는 크기가 다양한 원판들이 있고, 퍼즐을 시작하기 전에는 한 기둥에 원판들이 작은 것이 위에 있도록 순서대로 쌓여 있습니다. 게임의 목적은 다음 두 가지 조건을 만족시키면서, 한 기둥에 꽂힌 원판들을 그 순서 그대로 다른 기둥으로 옮겨서 다시 쌓는 것입니다. 한 번에 하나의 원판만 옮길 수 있습니다. 큰 원판이 작은 원판 위에 있어서는 안됩니다. 하노이 탑의 세 개의 기둥을 왼쪽 부터 1번, 2번, 3번이라고 하겠습니다. 1번에는 n개의 원판이 있고 이 n개의 원판을 3번 원판으로 최소 횟수로 옮기려고 합니다. 1번 기둥에 있는 원판의 개수 n이 매개변수로 주어질 때, n개의 원판을 3번 원판으로 최소..
[Programmers] Level1 - 2016년(연습문제) Python 풀이 문제 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN, MON, TUE, WED, THU, FRI, SAT입니다. 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 TUE를 반환하세요. 제한사항 2016년은 윤년입니다. 2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다) 입출력 예 a b result 5 24 TUE 풀이 이 문제는 2016년 1월 1일 시작요일과 1년이 366일인 윤년을 사용하여 문제를 풀이하면 쉽게 해결할 수 있다. 가장 먼저..
[Programmers] Level1 - 완주하지 못한 선수(해시) Python 풀이 문제 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 있습니다. 입출력 예 participant completion return [leo, kiki, ede..
[Programmers] Level1 - 수박수박수박수박수박수?(연습문제) Python 풀이 문제 길이가 n이고, 수박수박수박수....와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 수박수박을 리턴하고 3이라면 수박수를 리턴하면 됩니다. 입출력 예 n return 3 수박수 4 수박수박 풀이 이 문제는 예시로 알려준 입출력을 보게 되면 힌트를 쉽게 얻을 수 있다. n은 자연수이며, 반환되는 값은 n의 값에 따라 '수' / '박'으로 끝이 나게 된다. 즉 n이 홀수인 경우 '수'로 끝이 나고 n이 짝수인 경우 '박'으로 끝이 나게 됨을 쉽게 알 수 있다. 따라서 n번 반복하여 홀수/짝수를 구분하여 값을 반환하면 해결이 된다. 코드 def solution(n): answer = '' for i in range(n): if i % 2 == 0: a..
[Spring Boot]Spring Boot에서 Test Code 작성하기 -1 (개발 환경 세팅 및 Spring Boot 프로젝트 생성) 2021년 2월 졸업을 앞두고 취업을 위해 많은 회사의 채용 공고를 보면서 느낌점이 있다. 특히 우리가 흔히 들어본 회사에서 부터 처음 들어보는 회사까지 대부분의 채용 공고를 보면 공통점이 있다. 그것은 바로 ’TDD’ 혹은 ‘빌드/테스트/배포 자동화 경험’을 가진 사람을 우대한다는 채용 공고이다. 오늘은 Java Spring Boot 환경에서 Test Code을 작성하기 위한 방법에 대해 작성하고자 한다. TDD(Test-driven Development)란? 우선 Test Code을 작성하기 위한 방법을 알기 전 TDD(Test-driven Development)가무엇인지 개념을 잡아야 한다. - TDD란 Test-driven Development의 약자로 테스트 주도 개발이라고 함 - 반복 테스트를..
[백준 알고리즘] 1929번 소수 구하기 오늘은 백준 알고리즘 사이트에 올라와 있는 1929번 문제를 해결하고 글을 작성하고자 한다. 본 문제는 Python3로 풀이를 진행 하였다. 문제 문제을 보면 M~N까지의 숫자 중 소수를 구하는 문제임을 충분히 알 수 있다. 풀이 우선 문제에서 보면 알 수 있듯이 소수를 구하는 코드를 작성하면 된다. 소수를 Python코드로 구현 시 다양하게 구현할 수 있지만, 이 문제의 경우 백준 알고리즘에 나와 있는 분류 중 하나인 방법을 사용해보려고 한다. 백준 알고리즘 홈페이지에서는 이 문제에 대한 분류를 다음과 같이 하고 있다. 따라서 이 문제는 '에라토스테네스의 체'공식을 이용하면 쉽게 풀이할 수 있다. 에라토스테네스란? - 수학에서 소수를 찾는 방법 중 하나이다. 자세한 설명은 위키백과에 자세히 나와 있기 ..
애플워치 브레이드 솔로 루프 후기(정품X) 최근 애플 워치 SE 시리즈와 애플 워치 3세대 제품이 20-30만원대에 판매되면서 애플 워치를 구매하는 사람 또한 많이 증가하였고, 일상생활에서 많이 쓰는 모습을 볼 수 있다. 애플 워치는 갤럭시 워치와는 다르게 설정할 수 있는 워치 페이스가 한정적이기 때문에 나의 개성에 맞게 꾸미기에는 매우 한정적이다. 따라서 워치에서 가장 흔하게 나의 개성을 살려 꾸밀 수 있는 것은 바로 줄질이다! 나 역시도 애플 워치를 2018년 3세대를 시작으로 현재는 6세대를 사용하면서 애플 충전기처럼 워치 밴드 또한 서랍 속에 쌓여가고 있다. 오늘은 애플 워치 6세대와 함께 나왔지만 가격이 비싸 정품을 못 사고 네이버 오픈 마켓에서 판매하는 브레이드 솔로 루프에 대해 후기를 남기고자 한다. 1. 가격 브레이드 솔로 루프의 ..
[나는 리뷰어다] 퀀트 전략을 위한 인공지능 트레이딩 이 글은 2020년 8,9월 한빛미디어에서 진행하는 프로그램에 참여하게 되어 책을 제공받아 글을 작성하였습니다. 우선 글에 들어가기 앞서 이 책의 제목에 나와 있는 퀀트 무엇인지 간단하게 설명하고 넘어가려고 한다. 퀀트란? 계량적인(quantitative) + 분석(analyst)의 합성어로써, 느낌과 감정에 의한 투자 대신 수학, 통계지식을 이용해서 투자 법칙을 찾아내 투자모델을 만들거나 금융시장의 변화를 예측하는 사람 출처 : http://blog.naver.com/mosfnet/221168970740 퀀트 전략을 위한 인공지능 트레이딩 책 표지 (출처: 한빛미디어 홈페이지) 이 책을 신청한 이유 인공지능은 2016년 알파고와 이세돌의 대결이후 우리나라에서 엄청난 속도로 발전하고 있으며 이를 배울려는..