2012년 개발하여 운영한 주소축약 사이트입니다. 블로그 통합으로 인해 글을 옮겨적습니다. 자체 제공하는 네 개의 도메인과 API를 활용한 수십개의 도메인을 제공하여 이용자가 원하는 도메인을 선택해 주소를 줄일 수 있도록 서비스를 구상하였습니다. 2012년 한 악성코드 유포자가 본 서비스를 이용해 악성코드를 배포한적이 있었습니다. 경찰로부터 연락을 받고 수사협조를 하게 되었는데 범인 검거에 도움이 되었다는 뿌듯함과 본 서비스로 인해 피해자가 발생했을 수 있겠다는 죄책감이 동시에 들었습니다. 이로 인해 항상 사람들이 내 서비스를 좋은 목적으로만 이용하는 것은 아니라는 교훈을 배웠습니다. 그 이후로 무언가를 개발할 때 항상 악용의 소지가 있는지 확인하고 보완책을 생각하는 습관을 지니게 되었습니다. 저에게는 ..
2012년 개발하여 운영한 모의주식 사이트입니다. 블로그 통합으로 인해 글을 옮겨적습니다. 기술스택 PHP GD CURL jQuery 개발기간 2012년 운영기간 2012 ~ 2013 ------------------------ 기존 글 ------------------------ 가상의 돈 3000만원으로 주식을 구매하고 판매할수있는 모의주식게임 iStock을 소개합니다. 먼저 사이트 주소는 ㅡㅡㅡㅡㅡㅡ이고요, 접속하면 아래와 같이 나오네요. 아이디가 없으신분들은 회원가입 누르셔서 간단한 정보(이메일,비밀번호,닉네임,생일,성별) 입력후 로그인 하시면 됩니다. 로그인 하셨으면 아래와 같은 화면이 나올겁니다. 세번째 있는 검색창에 원하는 회사를 검색해봅시다! (한국 거래소(코스피)나 코스닥 시장에 상장된 ..
링크 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV-Un3G64SUDFAXr 분류 맵 개인적 난이도 매우 쉬움 쉬움 보통 어려움 매우 어려움 핵심 알고리즘 맵에 넣어가면서 맵에 key가 있는 경우에 공통 문자가 있는것으로 판단한다. 시행착오 없음 코드 import java.util.*; import java.io.*; class Solution{ public static void main(String args[]) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int T = Integer.pa..
링크 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AXTC4piqD_IDFASe SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 분류 우선순위 큐 개인적 난이도 매우 쉬움 쉬움 보통 어려움 매우 어려움 핵심 알고리즘 거꾸로 계산하면 편하다. X = 0에서 시작하지 말고 X = K에서 시작해서 나누기를 해가며 계산한다. 시행착오 없음 코드 import java.util.*; import java.io.*; class Solution{ public static void main(String args[]) throws Exc..
링크 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV-fO0s6ARoDFAXT SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 분류 우선순위 큐 개인적 난이도 매우 쉬움 쉬움 보통 어려움 매우 어려움 핵심 알고리즘 두 개의 우선순위 큐(최소힙과 최대힙)와 중간값을 담는 변수를 이용한다. 우선순위 큐의 size를 동일하게 유지해가면서 값을 삽입한다. 최소힙의 top > 중간값 > 최대힙의 top이 유지되도록 값을 유지하면 중간값이 항상 유지된다. 시행착오 처음에 알고리즘을 떠올리는데 약간의 시간이 소요되었다. 코드 im..
링크 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV15QRX6APsCFAYD SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 분류 그래프 탐색 힙 (우선순위 큐) 개인적 난이도 매우 쉬움 쉬움 보통 어려움 매우 어려움 핵심 알고리즘 각 칸에 대해 비용 최솟값을 갱신해가면서 각 칸을 우선순위 큐에 넣는다. 처음에는 (1,0)과 (0,1)이 우선순위 큐에 들어갈 것이고 우선순위 큐에 있는 내용을 하나씩 꺼내가며 네 방향의 칸에 대해 우선순위 큐에 다시 넣는다. 우선순위 큐에서 꺼낸 게 (N-1, N-1)이라면 해당 칸의..
링크 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV15PTkqAPYCFAYD SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 분류 트리 LCA 알고리즘 개인적 난이도 매우 쉬움 쉬움 보통 어려움 매우 어려움 핵심 알고리즘 LCA 알고리즘을 통해 공통 조상을 찾으면 된다. 시행착오 없음 코드 import java.util.*; import java.io.*; class Solution{ static Node[] tree; public static void main(String args[]) throws Exceptio..
링크 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV141J8KAIcCFAYD SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 분류 트리 개인적 난이도 매우 쉬움 쉬움 보통 어려움 매우 어려움 핵심 알고리즘 재귀를 이용해 트리로 표현된 식을 계산한다. 시행착오 없음 코드 import java.util.*; import java.io.*; class Solution{ static Node[] tree; public static void main(String args[]) throws Exception{ BufferedR..