본문 바로가기

분류 전체보기

(284)
HackerRank [String] Weighted Uniform Strings /알고리즘 해커랭크 문제 주소 : https://www.hackerrank.com/challenges/weighted-uniform-string/problem 난이도 : easy 성공률 : 73.23% 문제 : a~z까지 각 문자에는 매칭 되는 가중치 값이 있다, 문자는 오름차순 정렬되어있다, 동일한 문자의 경우 본 문자의 가중치값, 문자 누적의 가중치 값을 모두 가진다 두번째 파라미터로 넘어온 값들이 해당 문자열의 가중치에 존재하면 각각 YES, NO로 리턴하라 풀이 : 마지막 처리한 문자 값을 들고 있으며 비교하여 이전과 같으면 가중치 누적합을 set에 추가 이전과 다르면 가중치 표에 맞는 값을 set에 추가 두 번째 파라미터로 넘어온 값들이 set에 있는지 확인하여 Yes or No 리턴 답안 import math i..
HackerRank [String] Bear and Steady Gene /알고리즘 해커랭크[미해결] 문제 주소 : www.hackerrank.com/challenges/bear-and-steady-gene/problem 난이도 : Medium 성공률 : 63.58% (210505) [미해결] 7개 예제 타임아웃 문제 : 4의 배수의 길이를 가진 문자열을 준다 그 문자는 A, C, T, G로만 구성되어있다 substring을 수정하여 A, C, T, G가 모두 같은 개수가 나오게 해야 한다 최소한으로 수정해야하는 substring 길이 값을 리턴하라 풀이 1) ACTG 문자 중 초과된 문자와 각각의 수, 합산한 수(변환해야 하는 최소 개수)를 체크 2) 변환해야 하는 최소개수길이만큼 substring을 한 칸씩 이동하며 분리시켜봄 3) 분리시킨 substring에 변환해야하는 문자들이 모두 포함하는지 체..
악성코드와 한판 붙은 썰 -2 이전 글 2021.05.06 - [일기장/개발자 일기] - 악성코드와 한판 붙은 썰 -1 악성코드와 한판 붙은 썰 -1 현 직장에서 작년 실제 겪은 일입니다 특정 기업명은 공개하지 않습니다 우리 회사는 작년 여름부터 가을까지 악성코드 공격을 당했다 우선 우리 회사는 BtoB 방식으로 특정 기능을 하는 모듈을 singo112ok.tistory.com 이후 보안&포랜식 추적 전문 업체들과 컨텍하였고 몇 차례 회의, 진행하며 서로 필요한 정보를 주고받았고 몇 주나 걸려 나온 결과는 문제 해결을 직접 해주진 못했다 공격자는 악성코드 전문 업체로 보이며 일반 개발자 수준에서 할 수 있는 기법이 아니다, 중국 스타일의 악성코드를 사용한다, 어떻게 일반인들 PC에 배포되었는지 알기 힘들다, 과거 동작했던 악성코드 설..
악성코드와 한판 붙은 썰 -1 현 직장에서 작년 실제 겪은 일입니다 특정 기업명은 공개하지 않습니다 우리 회사는 작년 여름부터 가을까지 악성코드 공격을 당했다 우선 우리 회사는 BtoB 방식으로 특정 기능을 하는 모듈을 고객사에게 제공하고 고객사들은 그 모듈을 활용하여 앤드 유저들이 사용하는 프로그램을 제공하는 방식이다 어느 날 고객사로부터 연락을 받았다 '몇몇 고객들 문의가 와서 원격으로 확인했는데 우리 모듈이 정상적으로 동작하지 않는다' 해당 모듈은 안정성이 높으며 근래에 업데이트를 진행한 적도 없기에 윈도 쪽이나 외부적인 요인이겠거니 하고 확인해 본 결과 실제로 우리 모듈이 돌아가고 있지 않았다 (공격 방식과 분석했던방법 분석 결과 등은 추후 새 글에서 모두 소개하겠습니다) 우리 모듈을 공격하는 악성코드를 일반 유저들의 PC에 ..
HackerRank [Strings] Sherlock and the Valid String /알고리즘 해커랭크 문제 주소 : https://www.hackerrank.com/challenges/sherlock-and-valid-string/problem 난이도 : Medium 성공률 : 64.75% 문제 : 셜록 규칙에 맞는 유효한 문자열 찾기 1. 모든 문자가 동일한 개수여야 유효하다 2. 오직의 하나의 문자를 제거할 수 있다 풀이 : 코드 주석 참고 답안 import math import os import random import re import sys import collections def isValid(s): dic :dict = collections.Counter(s) #딕셔너리를 통하여 각 문자와 개수 산출 (a는2개 b는3개) dic2 : dict = collections.Counter(dic.v..
하도급 개발자의 눈물…"누구는 억대 연봉, 우리는 박봉에 철야" IT 대기업 개발자 연봉 인상 봇물에도 더 많은 인원 일하는 SI업계는 딴세상 하도급 중심 구조, 처우개선 목소리 높아져 www.mk.co.kr/news/it/view/2021/04/411860/ 하도급 개발자의 눈물…"누구는 억대 연봉, 우리는 박봉에 철야" IT 대기업 개발자 연봉 인상 봇물에도 더 많은 인원 일하는 SI업계는 딴세상 하도급 중심 구조, 처우개선 목소리 높아져 www.mk.co.kr
HackerRank [Strings] Sherlock and Anagrams /알고리즘 해커랭크 문제 주소 : www.hackerrank.com/challenges/sherlock-and-anagrams/problem 이도 : Medium 성공률 : 87.92% 문제 : 주어진 문자열에서 에너그램인 하위 문자열이 몇 쌍인지 구하시오 풀이 : 글자수를 늘려주며 하위 문자열을 비교 답안 #!/bin/python3 import math import os import random import re import sys # # Complete the 'sherlockAndAnagrams' function below. # # The function is expected to return an INTEGER. # The function accepts STRING s as parameter. # def sherlo..
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 =..