본문 바로가기

전체 글362

HackkerRank: Time Complexity:Primality 1. Link to the problem https://www.hackerrank.com/challenges/ctci-big-o/problem 2. Point brute force 로 문제를 풀면 O(n) 이 나온다. U (Unnecessary Work) Math.sqrt 사용하여 불필요한 작업을 제거했다. Math.sqrt 를 사용한다는 의미는 n 의 루트를 씌움으로써 루트 n 이후의 불필요한 작업은 제거한 것이다. 왜냐면 루트 n * 루트 n 은 n 이기 때문이다. 위 결론에 따라 루트 n 이 prime 인지만 판별하면 되고, 루트 n 의 정수를 추출해서 i = 2 ~ 추출된 정수로 나눈다면 답이 나온다. 3. Source public static void main(String [] args) { S.. 2018. 6. 23.
Oracle Session 확인 및 Kill session 확인 1 SELECT a.sid, -- SID a.serial#, -- 시리얼번호 a.status, -- 상태정보 a.process, -- 프로세스정보 a.username, -- 유저 a.osuser, -- 접속자의 OS 사용자 정보 b.sql_text, -- sql c.program -- 접속 프로그램 FROM v$session a, v$sqlarea b, v$process c WHERE a.sql_hash_value=b.hash_value AND a.sql_address=b.address AND a.paddr=c.addr AND a.status='ACTIVE'; session 확인 2 SELECT a.session_id AS SESSION_ID, b.serial# AS SERIAL_NO.. 2018. 5. 21.
HackerRank BFS: Shortest Reach in a Graph Problem Link : https://www.hackerrank.com/challenges/ctci-bfs-shortest-reach/problem 1. Thinking & Feedback 최단거리를 구하는 문제이기에 BFS 를 생각 Brute Force 로 푼 뒤 최적화를 생각 Start 지점 에서 노드 간 거리를 저장하는 방법에 대해서 고민 인접 edgeNum 을 조회하면서 배열로 저장해 값이 없는건 -1 로 출력하기로 함. while 문을 돌면서 Length 6씩 증가하는 방법을 사용하니 같은 레벨의 Distance 가 가중되면서 나오는 오류 이 문제는 이전 노드의 res[nodeNum] + 6 으로 해결. 왜냐하면 인접노드는 결국 서로 붙어있기에 이전노드 + 6 을 하면 같이 나옴. 2. So.. 2018. 3. 9.
[Oracle PLSQL] for loop 이용해 화면에 반복 출력 1. 소개 oracle 기준 for loop 를 이용해 화면에 Hello World 여러 번 출력하는 것 2. query SET SERVEROUTPUT ON declare type arr is varray(5) of varchar2(10); array arr := arr('01', '02', '03', '04', '05'); begin for i in 1..array.count loop dbms_output.put_line('Hello World - ' || array(i) ); end loop; end; 2018. 3. 9.
HackerRank DFS: Connected Cell in a Grid (java) Problem Link : https://www.hackerrank.com/challenges/ctci-connected-cell-in-a-grid/problem 1. feedback Cache 를 적용할 수 없는 이유는 한 번 들른데를 또 들리기 때문이다. DFS 로 끝까지 탐색하고 최대 값을 찾는다는 개념 SImple 한 방법으로 푸는 방법 방문했다 다시 돌아오지 않고 한 번 방문할 때 연결된 Cell 을 모두 count 하는 방법. 메모리도 쓰지 않고 속도도 빠르고 심플함. 2. Source public class ConnectedCellInAGrid { private static boolean visited[][]; public static void main(String[] args) { Scan.. 2018. 3. 8.
Excel (범위 안 문자 찾기) 1. COUNTIF COUNTIF(range, find_text) 범위(range) 안에 find_text 가 있는지 조회. 데이터가 있으면 숫자 리턴 2. FIND FIND(range, find_text) 위와 동일 2018. 3. 7.