본문 바로가기

운동하는 개발자

(181)
delphi, lazarus 동작시간 계산 코드의 특정 부분의 동작 시간(실행시간)을 로그로 남기고 싶을 때 uses dateutils; //datetime 계산을 위한 함수 procedure workfunction; var LStartTime : TDateTime; //시작시간 LWorkTime : Int64; //동작시간 begin LStartTime := Now; // 시작시간 기록 for( 블라블라); LWorkTime := MilliSecondsBetween(Now,LStartTime); end; MilliSecondsBetween() 함수는 ms단위의 값으로 리턴을 주고 각 단위로 계산하는 함수들은 아래와 같다 Function YearsBetween(const ANow, AThen: TDateTime; AExact : Boolean =..
HackerRank [String] Caesar Cipher /알고리즘 해커랭크 문제주소 : https://www.hackerrank.com/challenges/caesar-cipher-1/problem 난이도 : Easy 성공률 : 86% 문제 : 문자열 s를 k만큼 쉬프트 시켜라, 특수문자 제외, z를 넘어가면 다시 a로 돌아온다 풀이 : 1. k 값이 100이하의 수 이므로 선처리로 26의 나머지값만 쉬프트 2. 대문자 아스키값+k 했을때 소문자 영역에 들어갈 수 있으므로 기존 문자가 대문자인지 소문자인지 확인하는 조건 추가 답안 #!/bin/python3 import math import os import random import re import sys # Complete the caesarCipher function below. def caesarCipher(s, k): ..
python postgreSQL 연결, select 파싱(psycopg2) 우선 파이썬에 postgreSQL 연결을 위한 psycopg2 설치 pip install psycopg2 DB 연결 및 Select 데이터 파싱 부분 import psycopg2 as pg2 from dataclasses import dataclass #파싱데이터 저장을 위한 데이터클래스(구조체 역할) @dataclass class site: title: str = '' link: str = '' description: str = '' #데이터 파싱 함수 def siteParsing(siterow): tempsite = site() tempsite.title = siterow[0] tempsite.link = siterow[1] tempsite.description = siterow[2] return t..
Python에서 구조체 사용하기 (how to use struct in python) dataclass db에서 읽어온 값을 구조체로 파싱 해서 사용하고 싶었는데 구조체는 없었고 파이썬 3.7부터 지원하는 dataclass가 있어 이거로 사용해보았다 (공식문서를 읽어보니 구조체로 쓰라고 만든 의도는 아닌 거 같긴 하다) from dataclasses import dataclass @dataclass class site: title: str = '' link: str = '' description: str = '' language: str = '' pub_date: str = '' generator: str = '' managing_editor: str = '' feed_type: str = '' profile_image: str = '' company_feed: bool = False #변수명: 타입 = ..
programmers [level2] 괄호변환 /알고리즘 프로그래머스 / 2020 카카오 블라인드 채용문제 문제주소 : programmers.co.kr/learn/courses/30/lessons/60058 난이도 : Level2 문제 - 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 컴파일하여 로그를 보니 대부분 소스 코드 내 작성된 괄호가 개수는 맞지만 짝이 맞지 않은 형태로 작성되어 오류가 나는 것을 알게 되었습니다. 수정해야 할 소스 파일이 너무 많아서 고민하던 "콘"은 소스 코드에 작성된 모든 괄호를 뽑아서 올바른 순서대로 배치된 괄호 문자열을 알려주는 프로그램을 다음과 같이 개발하려고 합니다. 풀이 : 주어진 시나리오대로 구성 잘라서 확인하고 붙이고 자르고 남은거 ..
윈도우 cmd로 서비스 생성, 삭제, 상태변경, 서비스상태 / windows cmd to control service 1. 서비스 생성 sc create [서비스명] binpath=[exe경로] 2. 서비스 삭제 sc delete [서비스명] 3. 서비스 시작 sc start [서비스명] 4. 서비스 중지 sc stop [서비스명] 5. 서비스 상태 변경 sc config [서비스명] start=auto //auto : 자동, disabled : 사용안함, delayed-auto : 자동(지연된 시작), demand : 수동
programmers [level2] 스킬트리 /알고리즘 프로그래머스 문제 주소 : https://programmers.co.kr/learn/courses/30/lessons/49993 난이도 : Level2 문제 - 선행 스킬이란 어떤 스킬을 배우기 전에 먼저 배워야 하는 스킬을 뜻합니다. 예를 들어 선행 스킬 순서가 스파크 → 라이트닝 볼트 → 썬더일때, 썬더를 배우려면 먼저 라이트닝 볼트를 배워야 하고, 라이트닝 볼트를 배우려면 먼저 스파크를 배워야 합니다. 위 순서에 없는 다른 스킬(힐링 등)은 순서에 상관없이 배울 수 있습니다. 따라서 스파크 → 힐링 → 라이트닝 볼트 → 썬더와 같은 스킬트리는 가능하지만, 썬더 → 스파크나 라이트닝 볼트 → 스파크 → 힐링 → 썬더와 같은 스킬트리는 불가능합니다. 선행 스킬 순서 skill과 유저들이 만든 스킬트리1를 담은 배열..
programmers [level2] 프린터 /알고리즘 프로그래머스 문제 주소 : programmers.co.kr/learn/courses/30/lessons/42587 난이도 : Level2 문제 - 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린터를 개발했습니다. 이 새롭게 개발한 프린터는 아래와 같은 방식으로 인쇄 작업을 수행합니다. 풀이 - 큐를 구성해놓고 순서가 궁금한 값의 위치를 저장해놓는다 하나씩 빼서 우선순위 맥스 값과 비교하고 최댓값이면 출력 아니면 맨뒤로 추가 이동시킬 때마다 위치 값도 같이 한 칸씩 변환 출력시킬 값의 인덱스가 0번이면 종료 답안 def solution(priorities, location): nNow..