본문 바로가기

분류 전체보기

(11)
[Java][programmers] 순위 문제풀이 ※ 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/49191 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 1. 문제 설명n명의 권투선수가 있고, 1:1로 진행되는 경기 결과의 일부분이 배열 형태로 주어진다.이 때, 정확하게 순위를 매길 수 있는 선수의 수를 반환하도록 구현하는 문제이다.2. 예시입력이 아래와 같이 주어져 있다.n = 5result = [[4, 3], [4, 2], [3, 2], [1, 2], [2, 5]] ([A, B]는 "A가 B를 이겼다" 는 의미)경기 결과를 보기 쉽게 도식화 하면 아래와같다.(4 -> 3 표..
플로이드-와샬(Floyd-Warshall) 알고리즘 이해하기 최단경로를 탐색하는 플로이드-와샬(Floyd-Warshall) 알고리즘에 대해 알아보자.플로이드-와샬 알고리즘은 그래프에서 모든 정점 쌍 간의 최단 거리를 찾는 동적 프로그래밍(Dynamic Programming) 알고리즘이다. (만약 최단거리의 경로를 구하고 싶다면 복원 로직의 추가가 필요하다.)1. 동작방식의 이해플로이드-와샬 알고리즘의 동작 방식은 아주 간단하다.모든 정점 쌍(i,j)에 대해, 중간 정점 k를 경유하는 경로가 기존 경로보다 짧은지 검사각 단계에서 k번째 정점을 거쳐가는 모든 경우를 고려즉 아래와 같은 세 노드가 있을 때, 기존에 주어진 i → j 의 길이와 노드 k가 중간에 추가된 i → k → j 를 비교하여 i → j 의 길이를 더 작은 값으로 갱신하는 것이다.점화식은 아래와 같..
ASP.NET 웹쉘(Webshell) 코드 분석 본 글에서는 ASP.NET 웹쉘 코드를 분석해 보고자 한다.분석 내용을 통해 어떤 방식으로 웹쉘 스크립트가 구현되는지 전체적인 구조를 이해할 수 있기를 바란다.[기능]분석 대상 웹쉘은 ASP.NET 웹 페이지(.aspx)로 구현되어 있으며, 다음과 같은 주요 기능들을 포함하고 있다.파일 시스템 탐색파일 업로드/다운로드파일 삭제PowerShell 명령어 실행[주요 컴포넌트 분석]1. Namespace Import 파일 시스템 조작(System.IO), 프로세스 실행(System.Diagnostics), 웹 컨트롤(System.Web.UI.WebControls) 기능을 사용하기 위해 관련 Namespace를 Import한다. 2. 디렉터리 탐색 기능string out = ""; string dir = Pa..
Privacy Policy Privacy PolicyThis privacy policy applies to the RunRun app (hereby referred to as "Application") for mobile devices that was created by DongDongStudio (hereby referred to as "Service Provider") as a Commercial service. This service is intended for use "AS IS".Information Collection and UseThe Application collects information when you download and use it. This information may include information..
NXDomain(Non-eXistent Domain)을 이용한 DNS 공격 - NXDomain Flooding Attack, Subdomain Scanning Attack NXDomain(Non-Existent Domain)NXDomain은 "Non-Existent Domain"의 약자로, 요청된 도메인이 존재하지 않는다는 DNS 응답을 의미합니다. 사용자가 잘못된 도메인을 입력했을 때 DNS 서버는 NXDomain 응답을 보내게 됩니다. NXDomain과 관련된 공격으로는 NXDomain Flooding Attack과 Subdomain Scanning Attack이 있습니다.NXDomain Flooding Attack과 Subdomain Scanning Attack은 NXDomain을 이용한 DNS 공격이지만 그 목적에 차이가 존재합니다.NXDomain Flooding AttackNXDomain Flooding Attack은 대량의 NXDomain 요청을 통해 DNS 서..
[Java][programmers] 표현 가능한 이진트리 완전상세분석 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/150367 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 설명본 문제는 입력값으로 주어진 10진수의 값이 주어진 조건에 의해 이진법 형태로 변경 후 이진트리의 형태로 구현될 수 있는가를 묻는 문제이다. 주어진 예시를 다시 한 번 살펴보면 다음과 같다.예시1) [7,42,5]7은 이진법으로 111로 나타낼 수 있다. 이것을 완전이진트리로 나타내면 아래와 같이 간단하게 표현할 수 있다.42는 이진법으로 101010 로 나타낼 수 있다. 이것..
git proxy(socks4) 관련 error github에 프로젝트를 upload하기 위해 git을 사용해서 아래 명령어를 치는데, > git push origin master 계속해서 아래와 같은 두 문구의 에러가 발생한다...(동일한 현상에 의한 에러로 추측됨) fatal: unable to access 'https://github.com/sdh7700/movie_service_app/': SOCKS4: Failed receiving connect request ack: Failure when receiving data from the peer fatal: NotSupportedException encountered. ServicePointManager는 socks4 체계를 사용하는 프록시를 지원하지 않습니다. 이 에러문구에 대해 아무리 구글링..
RecyclerView에서 Drag&Drop을 이용해 View 위치 변경하기 1. View의 위치를 변경하기 위한 Library 안드로이드는 RecyclerView에서 각 View의 이동을 도와주기 위해 ItemTouchHelper Library를 지원하고 있다. 이 Library에 존재하는 ItemTouchHelper.Callback을 사용자가 구현하여 사용할 수 있다. 각각의 ViewHolder에 대해서 사용자가 특정 터치 동작을 일으킬 경우, ItemTouchHelper.Callback은 해당 상황에 맞는(설정된) 함수를 호출한다. 상세 문서는 아래 링크(안드로이드 개발문서)를 통해 확인할 수 있다. https://developer.android.com/reference/android/support/v7/widget/helper/ItemTouchHelper.Callback ..