[프로그래머스] 평균 구하기
[프로그래머스] 평균 구하기
2020.10.09def solution(arr): temp = 0 num = len(arr) for i in arr : temp += i return temp / num
[프로그래머스] 핸드폰 번호 가리기
[프로그래머스] 핸드폰 번호 가리기
2020.10.09문제에서는 문자열 s가 주어지고, 뒷 4자리를 제외한 문자들을 *로 처리한다. def solution(phone_number): temp = len(phone_number) return '*' * (temp - 4) + phone_number[temp-4:] 먼저 문자열의 길이를 파악하고, *의 개수를 temp - 4로 정해, 마지막 4자리를 제외한 나머지 문자열을 *로 변환한다. 그후 슬라이싱을 이용해 뒷 4자리를 추가해 준다.
[프로그래머스] 나누어 떨어지는 숫자 배열
[프로그래머스] 나누어 떨어지는 숫자 배열
2020.10.09def solution(arr, divisor): result = [] count = 0 Fail = [-1] for i in arr : if i % divisor == 0 : result.append(i) else : count += 1 print(count) if len(arr) == count : return Fail return sorted(result) 먼저 원소중 divisor로 나눠지는 것들을 result 리스트에 담고, 그렇지 않다면 count의 개수를 증가시킨다. 그후, 원소의 개수와 count의 개수가 같다면, 나누어지는것들이 없다는 뜻이기에 -1을 반환한다.
[프로그래머스] 문자열 내 p와 y의 개수
[프로그래머스] 문자열 내 p와 y의 개수
2020.10.09def solution(s): p = s.count('p') P = s.count('P') P_num = p + P y = s.count('y') Y = s.count('Y') Y_num = y + Y if P_num == Y_num : return True else : return False count 함수를 통해 p와 P, y와 Y의 개수를 찾고, 조건식을 이용해 결과값을 반환한다.
[프로그래머스] 2016년
[프로그래머스] 2016년
2020.10.07def solution(a, b): from datetime import date Month = a Day = b week = ['MON','TUE','WED','THU','FRI','SAT','SUN'] result = week[date(2016,Month,Day).weekday()] return result 다른 사람들의 풀이를 보니 사전을 이용하는 방법도 있다. def getDayName(a,b): day_name = ['THU', 'FRI', 'SAT', 'SUN', 'MON', 'TUE', 'WED'] month_dict = { "1":31, "2":29, "3":31, "4":30, "5":31, "6":30, "7":31, "8":31, "9":30, "10":31, "11":30, "12"..
[프로그래머스] 문자열 다루기 기본
[프로그래머스] 문자열 다루기 기본
2020.10.06def solution(s): if len(s) == 4: if s.isdigit() == True: return True else : return False elif len(s) == 6: if s.isdigit() == True: return True else : return False else : return False isdigit 함수를 통해서 문자열이 숫자로만 이루어졌는지 확인할수 있다.
[프로그래머스] 두 정수 사이의 합
[프로그래머스] 두 정수 사이의 합
2020.10.06def solution(a, b): if a == b: return a else: if a > b : a, b = b, a return sum(range(a,b+1)) a와 b의 값이 같다면, a를 반화해주고, 그렇지 않다면, 먼저 a와 b가 어떤 관계인지 알아야 한다. 만약 a의 값이 b보다 크게 될경우, 작은 수를 앞에 놔줘야 하므로, a, b = b, a를 통해서 위치를 바꿔주고, sum함수를 통해서 두 정수 사이의 값들을 더해준다.
[프로그래머스] 가운데 글자 가져오기
[프로그래머스] 가운데 글자 가져오기
2020.10.06가운데 글자를 반환하는 함수를 작성해 보자. 먼저 문자열의 길이를 len 함수를 통해서 파악한 수, 짝수개인지 홀수개인지 확인하기 위해서 연산을 진행했다. value = num % 2 if value == 1: number = int(num / 2) result = s[number] return result else : number = int(num / 2) result = s[number - 1] + s[number] return result 만약에 홀수개이라면, number의 문자열 길이를 2로 나누고, 그 나눈값의 몫의 정수형을 되돌려준다. 하지만, 짝수개라면, 두글자를 반화해야하므로, 몫에서 1을 뺀값과 몫을 되돌려준다.
[프로그래머스] 서울에서 김서방 찾기
[프로그래머스] 서울에서 김서방 찾기
2020.10.06문제에서는 리스트를 주어지고, 그 리스트 안에는 무조건 김서방이 존재한다고 한다. 파이썬에서는 리스트에 특정값이 있다면, index 함수를 이용해서 어느 위치에 있는지 알수 있다. 다른 사람의 풀이를 보면, 이렇게 하는 방법도 있다고 한다.
MAGNET Axiom - User Guide (Korean) #13 클라우드 소스 이미징
MAGNET Axiom - User Guide (Korean) #13 클라우드 소스 이미징
2020.10.05[ Magnet Axiom Process ] (Reference : Magnet Axiom Korean User Guide) // Thanks Magnet Forensics Company! 참고 ) 본 Magnet Axiom Korean User Guide를 참고해도 된다고 허락을 구했습니다! AXIOM Process의 클라우드 증거 소스를 선택할 때 대상의 로그인 정보를 사용하여 다양한 클라우드 기반 플랫폼에서 증거를 얻을 수 있습니다. 일부 플랫폼에서는 Magnet AXIOM 가 스캔 중 발견하거나 자체적으로 생성하는 인증 토큰을 사용하여 대상의 계정에 로그인할 수도 있습니다. Magnet AXIOM Cloud의 서비스가 지원하는 것은 다음과 같습니다. Apple Box.com DropBox IMAP..
[ios Forensics] 아이폰 카카오톡 포렌식 - #2 DB 복호화
[ios Forensics] 아이폰 카카오톡 포렌식 - #2 DB 복호화
2020.10.05오랜만에 아이폰 카카오톡 포렌식에 관련해서 글을 쓰게 되었습니다 :) blog.system32.kr/160?category=824834 [ios Forensics] 아이폰 카카오톡 포렌식 - #1 DB 추출 오늘은 아이폰에서 카카오톡 DB를 추출해 보도록 하겠습니다. 먼저 준비물입니다! 1. 아이폰 (탈옥되어있어야한다.) 2. 분석이 가능한 컴퓨터 3. 근성 위 세가지만 가지고 계시다면 충분히 카카오� blog.system32.kr 저번 포스팅을 참고하시면 DB 추출 방법에 대해서 확인 하실수 있습니다. 먼저 복호화 하기 앞서, 복호화 방법에 대해서는 기본 구조만 알려줄것이며, 전체 소스는 공개하지 않습니다. ios용 카카오톡의 데이터 베이스를 복호화 하기 위해서는, 먼저 키값을 찾으셔야 합니다. 키값의..
[Ubuntu] 우분투에 Nodejs와 Yarn 설치
[Ubuntu] 우분투에 Nodejs와 Yarn 설치
2020.10.04Nodejs 설치 $ sudo apt-get update $ sudo apt-get install -y build-essential $ sudo apt-get install curl $ curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -- $ sudo apt-get install -y node.js 설치 버전 확인 $ node -v $ npm -v Yarn 설치 $ npm install -g yarn 설치 버전 확인 $ yarn -v
[HMCTF] Q 39번
[HMCTF] Q 39번
2020.10.04파일을 확인해 보자. 문제라는 바이너리가 주어졌고, HxD를 통해서 확인해본결과 시그니쳐가 PK임을 확인할 수 있다. xlsx 파일로 변환해주고 열어보자. FLAG : 디지털포렌식
[HMCTF] Q 16번
[HMCTF] Q 16번
2020.10.04문제 내용 : Find Key 문제 파일에는 Kakao.bmp 라는 파일이 존재한다. 단순히 스테가노 그래피 문제로 추정을 할 수 있다. 그래서 binwalk를 통해서 살펴보았다. Binwalk를 통해서 파일을 확인해본 결과 어디서 많이 본 것들이 확인된다. 바로 OpenStego 스테가노그래피 도구를 사용한 것이다. 바로 OpenStego를 통해서 추출한다. keyword.txt 파일이 추출됐음을 알 수 있다. FLAG : SEAGATE
[HMCTF] Q 22번
[HMCTF] Q 22번
2020.10.0415번 연계 문제라고한다. 15번 문제에서는 RecycleBin.zip 파일이 주어졌고, 휴지통 분석으로 추측 할 수 있다. 막상 압축을 해제하고 보면 파일이 존재하지 않는다. RecycleBin의 특성상 숨겨져 있기 때문이다. 폴더가 총 3개 존재하며 FTK Imager을 통해서 파일들을 추출한다. 파일들을 추출하고, 의심되는 파일을 확인한다. 파일에서 잔액으로 추정되는 파일을 찾을 수 있었고, 5월달의 금액을 확인한다. 잔액은 185000으로 확인이 되고, 파일 명을 확인해야 한다. 삭제된 파일의 경우 데이터는 $RI를 통해서 저장되고, 파일명의 경우 $II 로 저장이 된다. 파일 명을 확인 할 수 있었다. FLAG : 2020file.xlsx_185000