본문 바로가기

전체 글

(263)
HackerRank [Constructive Algorithms] Flipping the Matrix /알고리즘 해커랭크 문제주소 : www.hackerrank.com/challenges/flipping-the-matrix/problem 문제 : 2n * 2n 크기의 매트릭스를 큐브돌리듯이 상하 좌우를 회전시켜서 n * n 크기의 좌측상단 매트릭스에 최대값이 위치하도록 한 뒤 그 매트릭스의 모든값을 합한값을 리턴하라 풀이 1. 매트릭스 가장 좌측상단의 1열1행에 있는 값은 아무리 회전한들 결국 존재할 수 있는 위치는 n열n행, 1열 n행, n열 1행, 1열1행 4곳밖에 존재 할 수 없다 2. 반대로 그 4곳에 위치하는 값중 가장 큰 값이 1열1행에 존재하게 될 것이다 3. 모든 나머지 매트릭스의 위치값들도 matrix[i][j], matrix[i][n-j-1], matrix[n-i-1][j], matrix[n-i-1][n-..
HackerRank [Bit Manipulation]Lonely Integer /알고리즘 해커랭크 문제주소 : www.hackerrank.com/challenges/lonely-integer/problem 문제 : 주어진 int array에서 같은 수의 값을 한쌍씩 제외시킨 후 홀로남는 값을 리턴하라 풀이 1. 같은 값을 한쌍씩 없애는 가장 쉬운방법은 모든값을 누적으로 xor시켜버리면 된다 답안 #!/bin/python3 import math import os import random import re import sys def lonelyinteger(a): result = 0 for i in a: result = result ^ i return result if __name__ == '__main__': # fptr = open(os.environ['OUTPUT_PATH'], 'w') fptr =..
java file md5 checksum / 자바 파일 md5 체크썸 MD5는 과거 128비트 암호화 해시함수로 사용되었으나 암호화 결함 오류로인해 암호화에는 사용되지 않고 파일의 무결성 검사에 주로 사용되고 있다 나도 그 용도로 사용중에 있다 public static byte[] createChecksum(String filename) throws Exception { InputStream fis = new FileInputStream(filename); byte[] buffer = new byte[1024]; MessageDigest complete = MessageDigest.getInstance("MD5"); int numRead; do { numRead = fis.read(buffer); if (numRead > 0) { complete.update(buffer,..
내 두번째 회사이야기.. 2021/02/08 - [일기장/개발자 일기] - 내 첫번째 회사이야기.. * 주니어 개발자들이 이 글을읽고 나같은 일을 겪지 않았았으면 혹은 이런쪽은 괜찮으니 가봤으면 하는 마음으로 작성합니다 특정업체에 대한 비판이 목적은 아닙니다 * 매우 주관적일 수 있습니다 참고만 하시길 바랍니다 ● 소개 두번째 회사는 첫번째 회사 퇴사 후 한달도 안되서 이직에 성공했는데 겉으론 SCM(supply chain management) 솔루션 업체였는데 너무 거창한 표현이고 실제론 POS기기를 납품받아 설치/유지보수하고 안에 들어가는 솔루션을 제작/유지보수 하는 업체였고 직원은 200명이 조금 안되었다 직원의 1/3이상이 개발자였고 BtoC(Business to Consumer)업체답게 콜센터 팀이 별도로 있었고 현장설..
HackerRank [Bit Manipulation] Counter game /알고리즘 해커랭크 문제 주소 : www.hackerrank.com/challenges/counter-game/problem 문제 : Louise와 Richard가 번갈아 가며 주어진 숫자가 2의 제곱근 값인지 확인한다 2의 제곱근 값이라면 1/2 값을 상대에게 넘기고 아니라면 주어진 숫자보다 작은 숫자 중 가장 높은 2의 제곱 값과의 차이 값을 상대에게 넘겨주되 1을 넘겨주면 승리한다 Louise가 항상 먼저 시작한다 풀이 1. 공학용 계산기에 2의 제곱근을 순서대로 입력해보았다 (2..4..8..16..32) 이 값들의 2진수 값들은 10, 100, 1000, 10000이다 가장 앞자리는 1이고 2의 승수만큼 뒤에 0이 붙는다 2. 전달받은 값 n을 2진수로 바꾸고 그 길이를 구한 뒤 그 길이와 같은 2의 제곱근 값을 ..
안드로이드11 내파일, ASTRO로 android/data 경로 접근불가 특정 url을 통하여 파일을 다운받는 시스템을 테스트중이였는데 최신 기기에서 정상적으로 다운이 되었는지 내 파일 앱을 통해 /Android/data를 열었더니 다음과 같은 화면이 나왔다 찾아보니 안드로이드11 (API30) 부터는 보안정책에 의해 접근이 불가능하다고 하였다... 파일다운이 정상으로 된건지 확인하기 위해 압축파일을 열어보는 방식으로 진행하고 있었는데.. 임시로 테스트파일을 미디어파일로 변경 후 다시 다운받아 플레이어로 재생해보려고 했으나 자동으로 미디어파일을 찾지 못하고 수동으로 경로를 찾아가도 동일하게 접근 할 수 없었다 앱내에서는 자신의 경로의 권한을 획득해놨으니 소스안에서 Hash값을 통해 파일이 정상적으로 다운완료되었는지 확인해야 할 것 같다.. 기왕 들어간김에 안드로이드11관련 내..
[서비스종료] 스마트 모바일 앱개발지원센터 SMAC 사용하기 / 모바일기기 테스트 21년 12월 30일부로 서비스 종료되었습니다 2021/02/09 - [운동하는 개발자/Android] - 국내/외 모바일 기기별 앱 테스트 서비스 비교 국내/외 모바일 기기별 앱 테스트 서비스 비교 아이폰은 개발한 경험이 없어서 잘 모르지만 안드로이드의 경우엔 cpu도 제각각, 디스플레이도 제각각, os버전도 제각각이기에 다양한 기기에서 테스트를 진행해야 한다 더보기 회사에 테스트폰 singo112ok.tistory.com 이전 글에서 확인해본 내용 중 SMAC 사용법을 알아보자 접속링크 : www.appvillage.or.kr/main/main.do 1. 우선 접속하여 회원가입을 한다 특별한 개인정보없이 간단하게 가입이 가능하다 2. 온라인 테스트 도구를 클릭한다 3. 요구사항을 확인하고 문제가 있으..
국내/외 모바일 기기별 앱 테스트 서비스 비교 아이폰은 개발한 경험이 없어서 잘 모르지만 안드로이드의 경우엔 cpu도 제각각, 디스플레이도 제각각, os버전도 제각각이기에 다양한 기기에서 테스트를 진행해야 한다 더보기 회사에 테스트폰이라곤 겔럭시s8 그리고 그보다 더 오래된 기기 두개.. 간단한 수정 후 배포 같은건 내 개인폰과 테스트폰으로 테스트하며 배포했었지만 최근 대규모 변경된 솔루션이 출시 준비중이라 다양한 테스트폰이 필요했다 처음엔 직원들 폰까지 동원해서 테스트해보았으나 직원들 폰들도 최신폰에 삼성폰 위주이다보니 대부분이 중복되었고 다양한테스트 라는 조건을 만족시킬 수 없었다 그래서 찾아보니 원격으로 테스트 가능한 서비스가 의외로 많았는데 크게 자동화 스크립트를 사용한 자동화 테스트와 수동으로 (AVD를 띄어서 테스트하는듯이) 원격으로 실제..