본문 바로가기

전체 글426

2020 완독 리스트 SSAFY(삼성 청년 SW 아카데미) 교육 프로그램을 핑계로 올해는 "1달 독서 2권"의 목표를 제대로 달성하지 못했다. 다이어리에 완독한 책을 기록하였는데 총 8권이었다...😩 물론 중간에 읽다 만 책들도 있지만... + 진짜 미국식 영어 1/2/3 제외 혼자 공부하는 파이썬 모두의 알고리즘 with 파이썬 베로니카, 죽기로 결심하다 행복한 프로그래밍 보통의 언어들 달러구트 꿈 백화점 나의 하루는 4시 30분에 시작된다 연금술사 내년에는 공부 + 독서 두 마리 토끼를 다 잡아보자...!!! 2020. 12. 29.
[독서] 연금술사 최근 파울로 코엘료 작가의 '베로니카 죽기로 결심하다' 책을 감명 깊게 읽었었다. 삶이 무기력해지던 시기에 오히려 죽음에 대해서 생각해 보는 시간이 아이러니(?) 할 수도 있지만 의미 있었던 시간이었다. 작가의 스토리가 큰 울림으로 다가왔었기 때문에 대표작인 '연금술사'도 연이어 읽게되었다. 📕 연금술사 줄거리 스페인의 양치기 청년 산티아고는 이집트의 피라미드와 그 아래 숨겨진 보물의 꿈을 계속 꾼다. 산티아고는 그 꿈이 일종의 예언이라 믿고 그 예언을 실현하기 위해 양치기의 소박하고 낯익은 삶을 뒤로 한 채 긴 여행길에 오른다. 그 여정의 출발점에서 산티아고는 집시 여인과 늙은 왕을 만나고 그들은 무조건 꿈을 좇으라며 그를 독려한다. 산티아고는 긴 모험의 길에서 도둑을 만나 빈털터리가 되기도 하고, 한.. 2020. 12. 29.
[Algorithm] Programmers : 방문 길이 by Python [문제 바로가기] https://programmers.co.kr/learn/courses/30/lessons/49994 📌문제 설명 게임 캐릭터를 4가지 명령어를 통해 움직이려 합니다. 명령어는 다음과 같습니다. U: 위쪽으로 한 칸 가기 D: 아래쪽으로 한 칸 가기 R: 오른쪽으로 한 칸 가기 L: 왼쪽으로 한 칸 가기 캐릭터는 좌표평면의 (0, 0) 위치에서 시작합니다. 좌표평면의 경계는 왼쪽 위(-5, 5), 왼쪽 아래(-5, -5), 오른쪽 위(5, 5), 오른쪽 아래(5, -5)로 이루어져 있습니다. 예를 들어, ULURRDLLU로 명령했다면 1번 명령어부터 7번 명령어까지 다음과 같이 움직입니다. 8번 명령어부터 9번 명령어까지 다음과 같이 움직입니다. 이때, 우리는 게임 캐릭터가 지나간 길 .. 2020. 12. 29.
[Algorithm] SWEA : 10965. 제곱수 만들기 by Python 📌문제 설명 어떤 자연수 A가 주어진다. 여기에 자연수 B를 곱한 결과가 거듭제곱수가 되는 최소의 B를 구하는 프로그램을 작성하라. 입력 첫 번째 줄에 테스트 케이스의 수 T 가 주어진다. 각 테스트 케이스의 첫 번째 줄에는 하나의 자연수 A(1≤A≤10**7) 가 주어진다. 💡 문제 풀이 시간초과로 많은 어려움을 겪었던 문제... 1차시도 - 시간초과 문제의 난이도가 높지 않아 단순하게 2부터 A까지 나누었을 때 나눈 횟수가 홀수이면 곱해주는 방식(나눈 횟수가 짝수여야 제곱수가 가능)으로 정답을 도출하려 하였다. T = int(input()) for tc in range(T): A = int(input()) res = 1 # items = dict() for i in range(2, A+1): if n.. 2020. 12. 29.
[Algorithm] Programmers : 가장 긴 팰린드롬 by Python [문제 바로가기] https://programmers.co.kr/learn/courses/30/lessons/12904 📌문제 설명 앞뒤를 뒤집어도 똑같은 문자열을 팰린드롬(palindrome)이라고 합니다. 문자열 s가 주어질 때, s의 부분문자열(Substring)중 가장 긴 팰린드롬의 길이를 return 하는 solution 함수를 완성해 주세요. 예를들면, 문자열 s가 abcdcba이면 7을 return하고 abacde이면 3을 return합니다. 제한사항 문자열 s의 길이 : 2,500 이하의 자연수 문자열 s는 알파벳 소문자로만 구성 입출력 예 s answer "abcdcba" 7 "abacde" 3 입출력 예 설명 입출력 예 #1 4번째자리 'd'를 기준으로 문자열 s 전체가 팰린드롬이 되므.. 2020. 12. 28.
[Algorithm] Programmers : 최고의 집합 by Python [문제 바로가기] https://programmers.co.kr/learn/courses/30/lessons/12938 📌문제 설명 자연수 n 개로 이루어진 중복 집합(multi set, 편의상 이후에는 집합으로 통칭) 중에 다음 두 조건을 만족하는 집합을 최고의 집합이라고 합니다. 각 원소의 합이 S가 되는 수의 집합 위 조건을 만족하면서 각 원소의 곱 이 최대가 되는 집합 예를 들어서 자연수 2개로 이루어진 집합 중 합이 9가 되는 집합은 다음과 같이 4개가 있습니다. { 1, 8 }, { 2, 7 }, { 3, 6 }, { 4, 5 } 그중 각 원소의 곱이 최대인 { 4, 5 }가 최고의 집합입니다. 집합의 원소의 개수 n과 모든 원소들의 합 s가 매개변수로 주어질 때, 최고의 집합을 return .. 2020. 12. 27.
[Algorithm] Programmers : 이중우선순위큐 by Python [문제 바로가기] https://programmers.co.kr/learn/courses/30/lessons/42628 📌문제 설명 이중 우선순위 큐는 다음 연산을 할 수 있는 자료구조를 말합니다. 이중 우선순위 큐가 할 연산 operations가 매개변수로 주어질 때, 모든 연산을 처리한 후 큐가 비어있으면 [0,0] 비어있지 않으면 [최댓값, 최솟값]을 return 하도록 solution 함수를 구현해주세요. 제한사항 operations는 길이가 1 이상 1,000,000 이하인 문자열 배열입니다. operations의 원소는 큐가 수행할 연산을 나타냅니다. 원소는 “명령어 데이터” 형식으로 주어집니다. - 최댓값/최솟값을 삭제하는 연산에서 최댓값/최솟값이 둘 이상인 경우, 하나만 삭제합니다. 빈 큐.. 2020. 12. 26.
[Algorithm] Programmers : 정수 삼각형 by Python [문제 바로가기] https://programmers.co.kr/learn/courses/30/lessons/43105 📌문제 설명 위와 같은 삼각형의 꼭대기에서 바닥까지 이어지는 경로 중, 거쳐간 숫자의 합이 가장 큰 경우를 찾아보려고 합니다. 아래 칸으로 이동할 때는 대각선 방향으로 한 칸 오른쪽 또는 왼쪽으로만 이동 가능합니다. 예를 들어 3에서는 그 아래칸의 8 또는 1로만 이동이 가능합니다. 삼각형의 정보가 담긴 배열 triangle이 매개변수로 주어질 때, 거쳐간 숫자의 최댓값을 return 하도록 solution 함수를 완성하세요. 제한사항 삼각형의 높이는 1 이상 500 이하입니다. 삼각형을 이루고 있는 숫자는 0 이상 9,999 이하의 정수입니다. 입출력 예 triangle result .. 2020. 12. 25.
[Algorithm] Programmers : 단어변환 by Python [문제 바로가기] https://programmers.co.kr/learn/courses/30/lessons/43163 📌문제 설명 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 한 번에 한 개의 알파벳만 바꿀 수 있습니다. words에 있는 단어로만 변환할 수 있습니다. 예를 들어 begin이 hit, target가 cog, words가 [hot,dot,dog,lot,log,cog]라면 hit -> hot -> dot -> dog -> cog와 같이 4단계를 거쳐 변환할 수 있습니다. 두 개의 단어 begin, target과 단어의 집합 words가 매개변수로 주어.. 2020. 12. 24.