전체 글

바쁜 새벽(busymidnight)을 살아보고자 만든 블로그
백준 허브? 코딩테스트 문제를 풀면서 이 코드를 깃허브에 수동 푸시하자니 너무 번거로웠다. 문제 내용, 채점 내용등을 보기 좋게 README로 작성하는 것도 시간이 오래 걸렸다. 더 편리한 방법이 없을까? 하고 구글링을 해보니 누군가 이미 만들어둔 백준허브 가 있었다.(감사합니다.) 백준 허브는 Leetcode의 제출 코드를 자동으로 푸시해주는 LeetHub라는 프로젝트를 포크해서 만든 익스텐션이다. 현재 백준, 프로그래머스, SWEA의 제출 코드 자동 푸시를 지원한다. 백준허브 깃허브는 여기 https://github.com/BaekjoonHub/BaekjoonHub GitHub - BaekjoonHub/BaekjoonHub: 백준 자동 푸시 익스텐션(Auto Git Push for BOJ) 백준 자동..
문제 설명 1부터 n까지 번호가 붙어있는 n명의 사람이 영어 끝말잇기를 하고 있습니다. 영어 끝말잇기는 다음과 같은 규칙으로 진행됩니다. 1번부터 번호 순서대로 한 사람씩 차례대로 단어를 말합니다. 마지막 사람이 단어를 말한 다음에는 다시 1번부터 시작합니다. 앞사람이 말한 단어의 마지막 문자로 시작하는 단어를 말해야 합니다. 이전에 등장했던 단어는 사용할 수 없습니다. 한 글자인 단어는 인정되지 않습니다. 다음은 3명이 끝말잇기를 하는 상황을 나타냅니다. tank → kick → know → wheel → land → dream → mother → robot → tank 위 끝말잇기는 다음과 같이 진행됩니다. 1번 사람이 자신의 첫 번째 차례에 tank를 말합니다. 2번 사람이 자신의 첫 번째 차례에 ..
문제 설명 두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배수는 n 개의 수들의 배수 중 공통이 되는 가장 작은 숫자가 됩니다. n개의 숫자를 담은 배열 arr이 입력되었을 때 이 수들의 최소공배수를 반환하는 함수, solution을 완성해 주세요. 제한 사항 arr은 길이 1이상, 15이하인 배열입니다. arr의 원소는 100 이하인 자연수입니다. 입출력 예 arr result [2,6,8,14] 168 [1,2,3] 6 풀이 최소 공배수는 두 값을 곱한 값의 최대공약수를 나눈 몫임을 활용하자 import math def solutio..
문제 설명 0과 1로 이루어진 어떤 문자열 x에 대한 이진 변환을 다음과 같이 정의합니다. x의 모든 0을 제거합니다. x의 길이를 c라고 하면, x를 "c를 2진법으로 표현한 문자열"로 바꿉니다. 예를 들어, x = "0111010"이라면, x에 이진 변환을 가하면 x = "0111010" -> "1111" -> "100" 이 됩니다. 0과 1로 이루어진 문자열 s가 매개변수로 주어집니다. s가 "1"이 될 때까지 계속해서 s에 이진 변환을 가했을 때, 이진 변환의 횟수와 변환 과정에서 제거된 모든 0의 개수를 각각 배열에 담아 return 하도록 solution 함수를 완성해주세요. 제한사항 s의 길이는 1 이상 150,000 이하입니다. s에는 '1'이 최소 하나 이상 포함되어 있습니다. 입출력 예..
문제 설명 괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어 "()()" 또는 "(())()" 는 올바른 괄호입니다. ")()(" 또는 "(()(" 는 올바르지 않은 괄호입니다. '(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return 하는 solution 함수를 완성해 주세요. 제한사항 문자열 s의 길이 : 100,000 이하의 자연수 문자열 s는 '(' 또는 ')' 로만 이루어져 있습니다. 입출력 예 "()()" true "(())()" true ")()(" false "(()(" false 풀이 (1) 단순하게 생각해서..
문제 설명 JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고)문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 s는 길이 1 이상 200 이하인 문자열입니다. s는 알파벳과 숫자, 공백문자(" ")로 이루어져 있습니다. 숫자는 단어의 첫 문자로만 나옵니다. 숫자로만 이루어진 단어는 없습니다. 공백문자가 연속해서 나올 수 있습니다. 입출력 예 s return "3people unFollowed me" "3people Unfollowed Me" "for the last week" "F..
https://un-lazy-midnight.tistory.com/7 Python | 파이썬 웹 스크래퍼 만들기 - 03 이번 포스팅에서는 추출한 데이터를 csv파일로 만들고 flask 맛보기로 웹서버에 웹 스크래퍼가 가져온 데이터를 뿌려볼 것이다. 파일로 내보내는 save_to_file 함수 생성 def save_to_file(file_name, jobs): # un-lazy-midnight.tistory.com 지난 포스팅에서 파이썬으로 웹스크래퍼를 만들었다. weworkremotely와 indeed에서 채용 정보를 불러와 파일로 내보내기가 가능하다. 다만 한가지 아쉬운 점은 replit 에서만 작동하는 코드였다. (노마드코더 강의 실습환경은 replit을 이용하고 있다.) 그래서 로컬(VS code..
고민의 시작 개발자라면 누구나 고민하는 지점이 있다. 바로 '좋은 코드'에 대해서이다. 학부 수업을 들을 때도, 회사를 다닐 때도 '좋은 코드'를 작성해야 한다는 이야기를 수없이 들었고, 또 그러고 싶었다. 하지만 그 '좋은 코드'란 대체 무엇인가? 나는 그 질문에 대한 답이 '좋은 사람', '좋은 개발자' 만큼 폭넓은 기준을 가졌다고 생각한다. 그래서 여러 자료를 참고하여 '백엔드' 개발자 입장에서의 관점을 적어보려 한다. 좋은 코드란 무엇일까? 일단 '좋은 코드'에는 수많은 정의가 있다. 읽기 쉬운 코드, 테스트가 용이한 코드, 오류가 없는 코드, 짧은 코드, 중복이 없는 코드 등등. 프로그램의 목적 혹은 개인의 취향 등 다양한 관점에서의 정의가 있다. 그래서 구글링...을 하면 좀 식상하니까 Cha..
쁜새
(안)게으른 블로그