iamkdh의 등록된 링크

 iamkdh로 등록된 티스토리 포스트 수는 131건입니다.

Java-Algorithm 입출력 성능최적화, 괜찮은 기능 메모 [내부링크]

BufferedReader - 1 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String inputValue = br.readeLine(); 한 줄에 해당하는 문자열 입력받을 수 있다. BufferedReader 사용하는 메..

프로그래머스 - 최대공약수와 최소공배수 (Level1, Java) [내부링크]

문제 설명 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최..

백준 - 1929번 소수 구하기(PrimeNumber Silver3, Java) [내부링크]

문제 M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어..

백준 - 11558번 The Game of Death (Graph, Silver4, Python) [내부링크]

문제 희현이와 주경이는 The Game of Death를 좋아한다. The Game of Death 규칙: 플레이어는 각자 한 명씩 지목을 한다(자신도 가능). 처음 시작하는 사람은 임의의 자연수 K를 말한다. 시작한 사람부터 지목한..

백준 - 3077번 임진왜란 (Bruteforce, Silver 3, python) [내부링크]

문제 현우는 방금 선생님으로부터 역사 시험 결과를 받았다. 현우가 가장 열심히 공부한 문제는 임진왜란의 해전을 일어난 순서대로 적는 문제이다. 올바른 순서는 다음과 같다. 옥포 해전 2. 사천 해전 3. 한산도..

백준 - 1543번 문서검색(Bruteforce, Silver 4, Python) [내부링크]

문제 세준이는 영어로만 이루어진 어떤 문서를 검색하는 함수를 만들려고 한다. 이 함수는 어떤 단어가 총 몇 번 등장하는지 세려고 한다. 그러나, 세준이의 함수는 중복되어 세는 것은 빼고 세야 한다. 예를 들어..

백준 - 11399번 ATM(Greedy, Silver4, Python) [내부링크]

문제 인하은행에는 ATM이 1대밖에 없다. 지금 이 ATM앞에 N명의 사람들이 줄을 서있다. 사람은 1번부터 N번까지 번호가 매겨져 있으며, i번 사람이 돈을 인출하는데 걸리는 시간은 Pi분이다. 사람들이 줄을 서는..

백준 - 1003번 피보나치 함수(DynamicProgramming, Silver3, Python) [내부링크]

문제 다음 소스는 N번째 피보나치 수를 구하는 C++ 함수이다. int fibonacci(int n) { if (n == 0) { printf("0"); return 0; } else if (n == 1) { printf("1"); return 1; } else { return fibonacci(n‐1) + fi..

백준 - 2579번 계단오르기(DynamicProgramming, Silver3, Python) [내부링크]

문제 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. <그림 1>과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점수를 얻게 된..

백준 - 9711번 피보나치(DynamicProgramming, Silver3, Python) [내부링크]

문제 피보나치 수열은 아래와 같이 표현된다. 1, 1, 2, 3, 5, 8, 13, 21, 34, ... 각 숫자는 앞의 두 숫자의 합으로 나타내는 것을 알 수 있다. P와 Q 그리고 n이 주어질 때, P번째 피보나치 숫자를 Q로 나눈 나머..

백준 - 9372번 상근이의 여행(Graph, Silver4, Python) [내부링크]

문제 상근이는 겨울방학을 맞아 N개국을 여행하면서 자아를 찾기로 마음먹었다. 하지만 상근이는 새로운 비행기를 무서워하기 때문에, 최대한 적은 종류의 비행기를 타고 국가들을 이동하려고 한다. 이번 방학 동..

백준 - 11724번 연결 요소의 갯수(Graph, Silver2, Python) [내부링크]

문제 방향 없는 그래프가 주어졌을 때, 연결 요소 (Connected Component)의 개수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N..

백준 - 11654번 좌표 정렬하기(Sort, Silver 5, Python) [내부링크]

문제 2차원 평면 위의 점 N개가 주어진다. 좌표를 y좌표가 증가하는 순으로, y좌표가 같으면 x좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,0..

백준 - 3273번 두 수의 합(Sort, Silver 3, Python) [내부링크]

문제 n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i < j ≤ n)을 만족..

백준 - 10610번 30(Greedy, Silver4, Python) [내부링크]

문제 어느 날, 미르코는 우연히 길거리에서 양수 N을 보았다. 미르코는 30이란 수를 존경하기 때문에, 그는 길거리에서 찾은 수에 포함된 숫자들을 섞어 30의 배수가 되는 가장 큰 수를 만들고 싶어한다. 미르코를..

백준 - 1931번 회의실 배정(Greedy, Silver1, Python) [내부링크]

문제 한 개의 회의실이 있는데 이를 사용하고자 하는 N개의 회의에 대하여 회의실 사용표를 만들려고 한다. 각 회의 I에 대해 시작시간과 끝나는 시간이 주어져 있고, 각 회의가 겹치지 않게 하면서 회의실을 사용..

백준 - 1026번 보물(Greedy, Silver4, Python) [내부링크]

문제 옛날 옛적에 수학이 항상 큰 골칫거리였던 나라가 있었다. 이 나라의 국왕 김지민은 다음과 같은 문제를 내고 큰 상금을 걸었다. 길이가 N인 정수 배열 A와 B가 있다. 다음과 같이 함수 S를 정의하자. S = A[..

Programmers Level 1. 2019 KAKAO BLIND RECRUITMENT 실패율 (Python) [내부링크]

문제 설명 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스테이지 차..

Programmers Level 1. 2021 KAKAO BLIND RECRUITMENT 신규 아이디 추천 (Python) [내부링크]

문제 설명 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 가입하는..

Programmers Level 1. 2022 KAKAO BLIND RECRUITMENT 신고 결과 받기 (Python) [내부링크]

문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 유저를 신고할 수..

Programmers Level 1. 2018 KAKAO BLIND RECRUITMENT 비밀지도 (Python) [내부링크]

문제 설명 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다행히 지도..

Programmers Level 2 : 전화번호 목록 (Java) [내부링크]

문제 설명 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조대 : 119..

Programmers Level 1 : 완주하지 못한 선수 (Java) [내부링크]

문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이..

JAVA : Collection Framework [내부링크]

컬렉션 프레임워크란 Stack, Queue, Map 등 널리 알려진 자료구조를 바탕으로 객체나 데이터를 효율적으로 관리할 수 있는 기능을 구현해놓은 라이브러리 이 글에선, 대표적으로 List, Map 을 다룬다 List [ 개요..

JAVA final 키워드 [내부링크]

final 변수 상수로써 사용된다. 변수를 선언과 동시에 초기화하며 이후에 값을 수정할 수 있다. Get 만 가능하다 (Set 불가) final 메서드 오버라이딩 불가능 상속받은 그대로 사용 final 클래스 상속 불가 Subcla..

JIT Compiler [내부링크]

[ JIT Compiler 란? ] JAVA 의 성능을 증대시키기 위한 런타임 환경의 요소이다. 런타임 중, 바이트 코드를 기계어 코드로 컴파일 해준다. [ JIT Compiler 개요 ] 개요 1. JAVA 프로그램은 다양한 컴퓨터 구조(OS)..

Generic In Java [내부링크]

Step 01. 제네릭 소개 - 제네릭은 왜 필요한가? 제네릭을 사용하지 않을 때 MyCustomList.java public class MyCustomList { public void addElement(T element) { list.add(element); } } 위와 같은 메서드를 사..

Garbage Collection In Java [내부링크]

Garbage Collection Garbage Collection 이란? Java 프로그램에서, 자동으로 메모리를 관리해주는 과정이다. C/C++ 와 달리, 프로그래머는 객체의 메모리 할당과 해제를 신경 쓸 필요가 없다. Garbage Collection..

JVM 구조, JVM 메모리 구조 [내부링크]

JVM JVM 이란? Java Code 나 Application 을 실행시키기 위한 런타임 환경을 제공해주는 엔진이다. Java 코드를 ByteCode 로 변환해준다. JVM 은 Java Runtime Environment(JRE)의 일부이다. 다른 언어의 컴파일러..

AOP in Spring [내부링크]

AOP가 필요한 상황 모든 메소드의 호출 시간을 측정하고 싶을 때 공통 관심사항 vs 핵심 관심사항 회원 가입 시간, 회원 조회 시간을 측정하고 싶을때 문제 1. 회원가입에서 시간을 측정하는 기능은 핵심 관심 사..

JDBC - JPA - Spring Data JPA 간단 비교 [내부링크]

JDBC Connection, Close 및 SQL을 직접 삽입해주어야함 Connection을 안끊으면 Connection이 계속 쌓여서 장애가 남 JPA JPA = ORM 객체와 릴레이션을 연결해줌 @Id @GeneratedValue(Identity) 등의 어노테이션 활..

Spring 프로젝트 배포 중 Application.yml 에 관하여 [내부링크]

Application.yml 은 깃허브나 외부로 절대 유출되어서는 안되는 파일이다. 따라서 배포를 위해서는 .gitignore를 통해 깃허브에 커밋되지 않도록 하는 것이 기본이다. application.yml .gitignore 적용법 1. 위..

Spring - Update 영속성 컨텍스트 (+Spring Data JPA) [내부링크]

Spring Data JPA를 사용하여 유저의 관한 CRUD 연산을 수행해보았다. UserRepository.java import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Modi..

Exception Controll In Java [내부링크]

Step 02. 예외 처리 기본 - NullPointerException 그리고 StackTrace Situation1. 예외처리를 하지 않았을 때 public class ExceptionHandling { public static void main(String[] args) { method1(); System.out..

OOP 특징들을 Java 코드로 (OOP in Java) [내부링크]

OOP(Object Oriented Programming) 절차적 프로그래밍은 데이터에 대한 작업을 수행하는 절차나 메서드를 작성하는 것이고 객체 지향 프로그래밍은 데이터와 메서드를 모두 포함하는 객체를 만드는 것이다. 객체지..

[Dynamic Programming] 11727 Java 풀이 [내부링크]

https://www.acmicpc.net/problem/11727 11727번: 2×n 타일링 2 2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다..

[Dynamic Programming] 11726 Java 풀이 [내부링크]

https://www.acmicpc.net/problem/11726 -------------------------------------------------------- 풀이 과정 1. 스케치 2. 데모 구현 3. 데모 구현 다듬고 제출 4. 제출 후 논리오류 혹은 에러 캐칭 ---------..

[Dynamic Programming] 1436 Java 풀이 [내부링크]

https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net --------------------------------------------------------..

[Java] Queue offer vs add [내부링크]

Queue queue = new LinkedList<>(); // 어떤 에러가 발생해서 // 아래의 두 메서드들이 실패했다고 했을때 // add 메서드로 큐에 삽입 실패 시 --> 예외를 던진다. queue.add(1); // offer 메서드로 큐에 삽입 실..

Github 이미 수행된 커밋에서 특정 파일 제거 [내부링크]

git filter-branch -f --index-filter "git rm --cached --ignore-unmatch 삭제하고자하는 file명" --prune-empty -- --all git push origin --force --all 다른 블로그에는 " "으로 되어있지 않고 ' ' 으로 되어..

컴파일 vs 인터프리터 (Compile vs Interpreter) [내부링크]

쉽게 예시를 들어 생각을 정리하는 것을 좋아하기 때문에 나만의 예시를 들어보겠다. 축구를 주제로 예시를 만들 것이다. >> 축구경기를 하기 위해선 >> 축구선수 + 코치 + 감독 + 의료진이 있어야한다. 컴파일방..

Java 8 Stream vs For [내부링크]

Java 8 문법을 공부하다, Stream을 배운 후 정말 편리한 기능이구나 라는걸 느끼면서 근데 성능은 어떻게 되려나...? 하는 궁금증이 생겨 찾은 내용을 정리했다. 우선 결론부터 말하자면 Stream은 알고리즘 문제를..

Component Scan 탐색 위치 (주요 어노테이션) , 필터 [내부링크]

어노테이션에는 상속관계가 없으므로 어노테이션이 특정 어노테이션을 갖고 있는 것을 인식하는 것은 자바가 아닌 스프링이 지원하는 기능이다. @Configuration : 스프링 설정 정보로 인식, 스프링..

BeanFactory vs ApplicationContext 짧고 굵게 요약 [내부링크]

BeanFactory 빈 팩토리는 스프링 컨테이너의 최상위 인터페이스 스프링 빈을 관리하고, 조회하는 역할 getBean()을 제공한다. ApplicationContext 빈 팩토리 기능을 모두 상속받아서 제공 빈 팩토리에서 부가적인..

SUWIKI 에서 무슨 일이 있었더라? (회고) [내부링크]

협업/소통 툴 : Github, Trello, JANDI, KakaoTalk, Goolge Meet 테스트 : Postman, SpringBootTest 배포환경 : EC2(Ubuntu, Nginx), RDS(MySQL) 개발 과정 요약 프레임워크, DBMS 선정 [2021/10] Node.js + MySQL..

Spring Boot Ubuntu 배포 과정 [내부링크]

Spring Boot 배포 과정이다. 중간에 모르는내용이 있다면 자세한 내용은 직접 구글링해서 찾아보자. 추천 키워드 Deploy Spring Boot Ubuntu 1. EC2 구매(Ubuntu 20.0.4) 2. EC2 보안그룹 설정(SSH, HTTPS, HTTP,..

GitHub branch 네이밍 규칙 [내부링크]

#브랜치 종류 Master(main) (Main Branch) Develop (Main Branch) Feature/ or / Release/ Hotfix/ or Issue/ #1. Master(main) Branch 최종 배포를 위한 브랜치 기존의 master branch는 Black lives matter 운..

GitHub branch 생성, 확인 , 제거, 이름 변경 [내부링크]

#1. 로컬 저장소 브랜치 생성하기 git branch 브랜치이름 #1-1. 원격 저장소 branch 생성 git push origin 신규브랜치 #1.1. 브랜치 확인하기 git branch #2. 브랜치 변경하기 git checkout 브랜치이름 //현재 브..

GitHub 로컬 저장소와 원격 저장소 연결 [내부링크]

1. Github에 repository 생성 2. 원격 저장소(repository)와 연결할 로컬 폴더의 경로에서 CMD 열기 3. git init --> git 초기화 4. git remote add origin 레포지토리 주소 --> origin은 원격 저장소의 주소를 뜻..

캐시(버퍼)에 대해서 세상에서 가장 쉬운 설명 [내부링크]

캐시란? CPU와 주기억장치(RAM)사이에서 상호간의 속도 차이를 완화하기 위한 중간 장치이다. CPU와 주기억장치 간의 속도차이가 나는이유? CPU는 계산을 위해 설계된 반도체 칩이기 때문에 연산속도 자체가 어마..

Intellij 단축키 정리 10가지 [내부링크]

Ctrl + Shift + Space 코드 자동완성을 추천 (개꿀기능) Shift + Shift Class, File, Symbol 등 키워드에 관련된 것을 검색 psvm + Tab Public Static void main (자바 입문강의에서 귀찮음 1스택 PoP 가능) Alt +..

웹 개발: 정적 컨텐츠란? [내부링크]

Django나 Spring 등 프레임워크에서 정적 컨텐츠를 이용하여 서버를 구현하는 방법이 있다. 여기서 정적 컨텐츠란? HTML, CSS 을 가리키며 말 그대로 사용자와 상호작용 하지 않는 문서를 보여주는 것이다. 웹 프..

쉽게 배우는 운영체제 요약본 [내부링크]

쉽게 배우는 운영체제 (한빛미디어) PART 01 1장 - 운영체제의 개요 2장 - 컴퓨터의 구조와 성능향상 PART 02 3장 - 프로세스와 스레드 4장 - CPU 스케줄링 5장 - 프로세스 동기화 6장 - 교착 상태 요약본 아래는..

알고리즘 풀이 기록 GitHub로 이전 [내부링크]

https://diger-king.github.io/ChallengeHub/ Challenge Hub IT 스텝업 개발 + 정보보안 관련 교육 프로그램 선발일정 아래의 분야를 클릭하여 확인하기! diger-king.github.io https://github.com/diger-king?tab..

1316번: 그룹 단어 체커 [내부링크]

문제 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때문에..

1157번: 단어공부 [내부링크]

문제 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. 입력 첫째 줄에 알파벳 대소문자로 이루..

후니의 쉽게쓴 CISCO Networking [내부링크]

(후니의 쉽게쓴 CISCO 네트워킹) 서적을 참고하여 요약했다. 군대에서 네트워크 관련된 일을 했을때 기초를 다지기에 아주 좋은 책이였다.

운영체제 : 운영체제 서비스 [내부링크]

운영체제 서비스 1. 프로세스 관리   CPU 자원 관리 2. 주기억장치 관리   메인 메모리 자원 관리 3. 파일 관리 보조기억장치(HDD)내의 파일 자원을 관리 4. 보조기억장치 관리  Track, Sector 의 관리 5. 입..

컴퓨터구조 : <CODE> H/W와 S/W에 숨어있는 언어 (플립플롭) [내부링크]

인버터는 입력이 0일때 1 출력 입력이 1일때 0 출력 인버터를 이용하여 오실레이터를 만들 수 있는데 오실레이터란? 0과 1을 주기적으로 왔다갔다하는 장치이다. 클럭이라고 불린다. 클럭의 변화를 그래프화 시켜..

운영체제 : 이중모드, 하드웨어 보호 [내부링크]

이중 모드 * 한 컴퓨터를 여러 사람이 동시에 사용하는 환경에서 발생하는 문제점 한 사람이 여러 개의 프로그램을 동시에 사용 한 사람의 고의/실수 프로그램이 전체에 영향 STOP, HALT, RESET 등 * 사용자 프로..

운영체제 : 고등운영체제, 인터럽트 기반 시스템 [내부링크]

* 폰 노이만 구조 CPU(processor) Memory 일반적인 OS는 메모리에 있는 수행해야할 작업들을 번갈아가면서 처리한다. 조금 했다가 다른거 넘어가고, 조금 했다가 다른거 넘어가고 ... * 다중 프로세서 시스템 (병..

컴퓨터구조 : <CODE> H/W와 S/W에 숨어있는 언어 (릴레이와 회로) [내부링크]

릴레이를 직렬로 연결 => AND 게이트 -> 각 릴레이의 출력이 다른 릴레이의 입력값이 됨 릴레이를 병렬로 연결 => OR 게이트 --> 각 릴레이의 출력이 모두 같음 인버터(쌍투릴레이) => NOT 게이트 --> 서로 다른..

Golang : 카카오채용공고 파싱 [내부링크]

예전에 만들어봤던 카카오社 채용공고 크롤러이다. package main import ( "fmt" "log" "net/http" "strings" "time" "github.com/PuerkitoBio/goquery" ) func main() { loc, err := time.LoadLocation("Asia/Seo..

컴퓨터구조 : <CODE> H/W와 S/W에 숨어있는 언어 (부울대수, 기초회로) [내부링크]

[ Ch.10 ] < p.149 부울대수를 위한 예시 ~ > 수컷 고양이 : M 암컷 고양이 : F 황갈색 고양이 : T 검정 고양이 : B 흰색 고양이 : W 다른 모든 색 고양이 : O 중성화 O : N 중성화 X : U 부울 대수에서 + 기호는..

운영체제 : Linux 시스템 디렉터리 [내부링크]

* FTZ Trainer 참고 * <주요 디렉토리 기능> dev 장치 파일 저장 sys 리눅스 커널관련 정보 proc 프로세스 정보, 커널 관련 정보 boot 부팅에 필요한 정보 usr 기본 실행파일, 라이브러리 파일, 헤더파일 var 시스..

운영체제 : 32bit vs 64bits [내부링크]

2진수는 1비트 8진수는 3비트 16진수는 4비트 로 데이터를 표기한다. 32비트는 2진수 32자리, 16진수로는 8자리로 표기하고, 64비트는 2진수 64자리, 16진수로는 16자리로 표기한다. 메모리 주소공간은 1byte 크..

Python : 디렉터리 탐색 + 파일 내용 확인 [내부링크]

일단 아래와 같이 기본 틀을 만들었다. 이걸 활용하여 탐색한 모든 파일 내용 혹은 파일 자체 암호화를 만들어 볼 계획이다. import os from cryptography.fernet import Fernet import sys # from Crypto.Cipher..

파이썬 알고리즘 인터뷰 <유효한 팰린드롬> [내부링크]

# p.138 유효한 팰린드롬 # 리스트로 풀이 def is_palindrom(s: str) -> bool: #변수 s는 str의 자료형, is_palindrom의 반환값은 bool의 자료형 strs = [] #strs 라는 리스트 선언 for char in s: #s의 각 원소..

함수(function) vs 메서드(method) [내부링크]

함수와 메서드 이 둘에는 분명 차이점이 있으니 명칭 또한 다를거라고 생각이 들었다. 함수와 메서드는 각각 어떠한 기능을 수행하는 요소이다. 둘의 차이점을 살펴보자면, 1. 메서드는 <객체> 와 연관이 되어있는..

11047번: 동전 0 (py) [내부링크]

문제 준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다. 동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시..

4796번: 캠핑(py) [내부링크]

문제 등산가 김강산은 가족들과 함께 캠핑을 떠났다. 하지만, 캠핑장에는 다음과 같은 경고문이 쓰여 있었다. 캠핑장은 연속하는 20일 중 10일동안만 사용할 수 있습니다. 강산이는 이제 막 28일 휴가를 시작했다...

2231: 분해합 (py) [내부링크]

문제 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이..

2309번: 일곱 난쟁이(py) [내부링크]

문제 왕비를 피해 일곱 난쟁이들과 함께 평화롭게 생활하고 있던 백설공주에게 위기가 찾아왔다. 일과를 마치고 돌아온 난쟁이가 일곱 명이 아닌 아홉 명이었던 것이다. 아홉 명의 난쟁이는 모두 자신이 "백설 공..

NetWork : 허브 리피터 브리지 스위치 라우터 [내부링크]

허브(물리 계층) 여러개의 포트를 가지고 있어, 여러 장비(PC 등)을 LAN에 접속할 수 있게 해준다. 또한 리피터의 기능인 신호 증폭의 기능을 가지고 있기도 하다. 리피터(물리 계층) 노드 간의 흐르는 전기..

DB : ETL이란? [내부링크]

ETL 이란? E : 추출(Extract), T: 변환(Transform), L : 적재(Load) E : 추출 추출은, SQL에서 SELECT를 통해 데이터를 뽑아오는 것이라고 생각하면 되는 것이다. ETL의 예시로 내 갤러리에 있는 임의의 사진에..

운영체제 공룡책 (Operating-System Concept) 1장 [내부링크]

1.1 운영체제가 할 일 -> 운영체제는 다른 프로그램이 유용한 작업을 할 수 있는 환경을 제공한다. -> 운영체제는 다양한 사용자를 위해 다양한 응용프로그램 간의 하드웨어 사용을 제어하고, 조정한다. [*] 사용..

Python : if__name__ == "__main__" [내부링크]

아래와 같은 한줄의 코드를 보고 이게 무슨 의미인지, 왜 쓰는표현지 궁금해서 알아봤다. if__name__ == "__main__" 이를 알아보려면 먼저 파이썬에서의 namespace라는 개념을 알아야 한다. 파이썬은 list, string..

71A - Way Too Long Words [내부링크]

import sys n = int(sys.stdin.readline()) #입력받을 단어 갯수 words = [str(sys.stdin.readline()) for i in range(n)] # 입력받을 단어들을 \n을 기준으로 나눠 입력 alter_words = [] #입력 단어를 교체할..

4A -Watermelon (py) [내부링크]

import sys w = int(sys.stdin.readline()) if w % 2 == 0 and w != 2: #and 이후의 식 => 2를 절반으로 나누면 홀수인 1, 1이 나오기 때문 print("YES")

2869번: 달팽이는 올라가고 싶다 (py) [내부링크]

아래는 시간초과로 실패한 코드이다. a, b, v = map(int, sys.stdin.readline().split()) current = 0 #현재 위치 day = 1 #하루 시작 while True: current += a #현재 위치에 a만큼 오르기 if current >= v: #만..

2839: 설탕배달 (py) [내부링크]

문제 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로..

2292번: 벌집 (py) [내부링크]

문제 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집..

백준 1065번: 한수(py) [내부링크]

문제 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의..

#백준 4673번: 셀프 넘버 [내부링크]

문제 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을..

백준 15596번: 정수 N개의 합 (py) [내부링크]

문제 정수 n개가 주어졌을 때, n개의 합을 구하는 함수를 작성하시오. 작성해야 하는 함수는 다음과 같다. C, C11, C (Clang), C11 (Clang): long long sum(int *a, int n); a: 합을 구해야 하는 정수 n개가 저..

백준 4344번: 평균은 넘겠지(py) [내부링크]

문제 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. 입력 첫째 줄에는 테스트 케이스의 개수 C가 주어진다. 둘째 줄부터 각 테스트 케이스마..

백준 8958번: OX퀴즈 (py) [내부링크]

문제 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수는 3이..

백준 1546번: 평균(py) [내부링크]

문제 세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다. 예..

백준 3052: 나머지 (py) [내부링크]

문제 두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다..

백준 2577: 숫자의 개수 (py) [내부링크]

문제 세 개의 자연수 A, B, C가 주어질 때 A×B×C를 계산한 결과에 0부터 9까지 각각의 숫자가 몇 번씩 쓰였는지를 구하는 프로그램을 작성하시오. 예를 들어 A = 150, B = 266, C = 427 이라면 A × B × C = 15..

백준 2562번: 최댓값 (py) [내부링크]

문제 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어..

백준 10818번: 최소, 최대 (py) [내부링크]

문제 N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다..

보안 컨설팅 [내부링크]

보안 컨설팅 이란? 기업의 정보보호를 위해, 현재 기업의 정보보호 수준을 기업 전체를 대상으로 평가한다. 이후 그에 맞는 정보보호 계획을 수립한다. 보안 컨설팅의 세부종류 (1) 컴플라이언스 컨설팅 주요 정보..

최근 3년간 해킹 공격 유형 TOP 1 (XSS) [내부링크]

1위 XSS 458건 2위 오버플로우 332건 3위 Command Injection 175건 4위 부적절한 권한 검증 105건 5위 파일 다운로드 및 실행 94건 6위 SQL Injection 90건 7위 파일 다운로드 76건 8위 취약한 인증 및 세션 관리..

Webhacking.kr Challenge 27 (Webhacking.kr 27번 풀이) [내부링크]

이번에도 view-source로 바로 드가보자 no 라는 변수를 입력받는 것이다. 1. 두번째 조건문(필터링) 1) # 2) select 3) ( 4) 공백 5) limit 6) = 7) 0x 위 7가지를 필터링 하고 있다. 2. 세번째 조건문 guest의..

Webhacking.kr Challenge 26 (Webhacking.kr 26번 풀이) [내부링크]

초기화면이다. view-source를 눌러 소스코드를 보자 1. 첫번째 조건문 id값을 요구하고있고 preg_match 함수로 admin이라는 입력값을 직접 넣어주는 행위를 필터링한다. 2. 두번째 조건문 id값에 admin이 들어와..

Webhacking Challenge 24 (Webhacking.kr 24번 풀이) [내부링크]

초기화면은 다음과 같다. 1. 내 ip 2. 접속정보에 관한 정보 소스코드 화면이다. 1. extarct()   내 정보를 추출한다. (SEVER, COOKIE 정보) 2. $ip 에는? $REMOTE_ADDR 이 들어있는데 이는 클라이언트 ip 즉..

Webhacking.kr Challenge 20 (Webhacking.kr 20번 풀이) [내부링크]

초기화면은 다음과 같다. 1. nickname 2. comment 3. captcha 총 세가지의 입력을 받는다 우측 상단부분을 보면 이 모든 입력값을 2초이내에 입력하라고한다. 사람의 손으론 절대 불가능해보인다. 서버에 어떤방..

ISMS-P 법률/시행령 /시행규칙 주요 사항 모음 [내부링크]

ISMS-P = ISMS(정보보호 관리체계에 인증 등에 관한 고시) + PIMS(개인정보보호 관리체계 인증 등에 관한 고시) ISMS [법률] 정보통신망 이용촉진 및 정보보호에 관한 법률 제47조 제47조(정보보호 관리체계의 인..

리버싱 기초 레지스터 초 간결 요약 [내부링크]

[레지스터] EAX : 가장 많이 쓰이는 변수(사칙연산), 리턴값을 가질 수 있음, Accumlator EDX : 변수로 사용됨, 리턴값으로 사용 될 수 없음, Data ECX : 루프문을 사용할 때 카운팅 역할, Count EBX : 보충 역할..

Webhacking.kr Challenge 19 (Webhacking.kr 19번 풀이) [내부링크]

제출 버튼을 누르면 You are not admin! 이라는 문구와 함께 다시 초기화면으로 돌아가게 된다. admin을 입력하는데 되지 않은거보니까 다른 방법으로 admin을 전달해주기만하면 해결 될 것 같다. F12 개발자도구..

Webhacking.kr Challenge 32 (Webhacking.kr 32번 풀이) [내부링크]

SQL Injection 유형이다. 소스코드의 조건을 보면 1. 공백 2. / 3. | 4. ( 5. ) 6. \ 7. & 8. select 9. from 10. 0x 위 열가지의 문자들을 필터링 하고 있다. 입력칸에 1을 넣으면 다음과 같이 "hi g..

abex Crackme3 문제풀이 x32dbg [내부링크]

첨부파일은 CrackMe 3번을 풀이한 내용이다 0x401013, 0x401015, 0x40101A, 0x40101C, 0x40101E, 0x401020, 0x40102A 각각 0, 80, 3, 0, 0, 80000000, Crackme3.4020B9 를 스택에 저장하고 있다. 0x40102A Call..

abex Crackme2 문제풀이 x32dbg [내부링크]

풀이를 정리해본 워드 파일이다. 0x4032E9 Ebp-88에 내가 입력한 serial값을 넣는다 0x4032EF edi에 8을 넣는다 0x4032F4 edx에 ebp-9C의 주소를 넣는다 0x4032FA ecx에 ebp-34의 주소를 넣는다 0x4032FD Ebp-88..

Reversing.kr 2번풀이 (Easy_Keygen) x32dbg [내부링크]

역시나 중요한 단서가 될만한 것이 바로 첫줄부터 있다. Input Name : 이 있는 주소값을 따라가보자 우선 처음 이동한 주소와 점프문 바로 직전에 브레이크 포인트를 걸었다. 사용자에게 Name을 입력받은 후, te..

Reversing.kr 1번 풀이 (Easy CrackMe) x32dbg [내부링크]

단서를 얻기위해 문자열 검색을 해보겠다. 위의 버튼을 통해 검색을 하면, 다음과 같은 화면이 뜬다. 그중에서 3번째 줄에 위치한, Congratulation!! 문자열이 메인함수의 중요한 일부분이라고 생각하여 더블클..

C++: KeyLogger [내부링크]

#include #include #include #include #include using namespace std; void WriteToLog(LPCSTR text) //LPSTR = Long Pointer String = char* // LPCTSTR = Long Pointer Constant String = const char * { ofstre..

PHP Wrapper 란? [내부링크]

watchout31337.tistory.com/148

Webhacking.kr Challenge 18 (Webhacking.kr 18번 풀이) [내부링크]

SQL INJECTION을 하란다. 그럼 한번 해보자 우선 view-source를 보고, 어떻게 인젝션을 해야할지 생각해보자 <?php if($_GET['no']){ $db = dbconnect(); if(preg_match("/ |\/|\(|\)|\||&|select|from|0x/i",$_..

CERT: 정보보안 장비(솔루션) UTM | 방화벽 | IPS | ESM [내부링크]

UTM (Unified Threat Management) IDS/IPS + 방화벽이 합쳐진 것으로 볼 수 있는데, IP/Port 기반 접근제어 트래픽 분석 비정상행위 탐지 실시간 대응(차단) 등 다양한 보안 솔루션 기능들을 수행하여 관리비용을..

CERT: 공격 시도 흔적, 사후대처 [내부링크]

1. 서버 스캔 시도 스캔 IP 차단 2. 주소, 아이디, 패스워드 입력란에 명령어 입력 (SQL Injection 흔적) IP 차단, 해당 명령어 실행여부 확인 3. 게시판 실행파일 업로딩 IP 차단, 해당 첨부파일 실행여부 확인,..

하드웨어 해킹 배경지식(컴퓨터 구조 기본) [내부링크]

CPU 1. 프로그램의 명령 해석 2. 프로그램의 명령 실행 3. 장치제어 위와 같이 ALU와 CU로 구성되어있다. ALU의 구성 (내부장치) 1. 가산기(Adder) : 산술연산을 수행, 두 개이상의 수의 합을 계산하는 논리 회로..

Webhacking.kr Challenge 17 (Webhacking.kr 17번 풀이) [내부링크]

다음과 같이 무엇인가를 입력하는 창 이외엔 아무것도 없다. 소스코드를 봐보자 1. unlock 이라는 변수에 복잡한 수들의 연산을 한 결과값을 넣어줬고, 2. 입력값인 login.pw.value을 unlock 의 값과 맞춘후에 3..

Webhacking.kr Challenge 16 (Webhacking.kr 16번 풀이) [내부링크]

초기화면은 이렇게 이루어져있다. 역시 아무것도 모르겠으니 소스코드를 보자 코드를 보면, mv 라는 함수를 정의해놓았는데, 마지막줄에, 주석으로 //do it! 이라는 부분에 주목했다. 저 코드를 직접 실행시켜보..

Webhacking.kr Challenge 15 (Webhacking.kr 15번 풀이) [내부링크]

시작부터 당황스러웠다. 이번에도 뭔지 몰라서 F12를 눌러서 코드를 보려했는데 되지않았다.. 그래서 view_source 라는 키워드로 소스코드를 볼 수 있는게 생각나서 구글링으로 통해 view-source: 키워드를 알아..

Webhacking.kr Challenge 14 (Webhacking.kr 14번 풀이) [내부링크]

역시나 무슨 내용인지 모르겠으니 F12를 눌러 소스코드를 확인해보자 소스코드를 보면, 중요한 부분은, JavaScript 구문이 들어있는 부분이다. 스크립트 구문을 해석해보면, 1. ul 이라는 변수에 URL을 담았다...

Webhacking.kr Challenge 10 (Webhacking.kr 10번 풀이) [내부링크]

문제를 누르면 다음과 같은 화면이 뜬다. 무슨 내용인지 파악하기 위해 F12로 소스코드를 확인해보자 코드를 보니, O에 마우스를 올리면 yOu라는 문자열로 변하고, O를 한번 클릭하면 그에 반응하여 좌표가 움직..

하드웨어 해킹 심화 배경지식 [내부링크]

<전자 부품> 출처 www.hackerschool.org/HardwareHacking/ Index of /HardwareHacking www.hackerschool.org 수동소자 전력을 단순히 소비, 흡수, 전달하는 소자 저항(R), 인덕터(L), 커패시터(C) 저항을 직렬로..

하드웨어 해킹이란? [내부링크]

하드웨어해킹은 무엇을 필요로 할까? 에 대한 하드웨어 배경지식 출처 www.hackerschool.org/HardwareHacking/ Index of /HardwareHacking www.hackerschool.org 스마트 카드 해킹 (스마트 카드를 복제하거나..

Webhacking.kr Challenge 6 (Webhacking.kr 6번 풀이) [내부링크]

view source화면 2를 보면 solve 의 조건으로, $decode_id="admin" && $decode_pw="nimda" 이 되어야한다. $decode_id에는 user라는 쿠키값에 들어있는 값이 할당되어있고, $decode_pw에는 pw라는 쿠키값에 들어..

Webhacking.kr Challenge 1 (Webhacking.kr 1번 풀이) [내부링크]

여기서 주목해야 할 점은, <?php if(!is_numeric($_COOKIE['user_lv'])) $_COOKIE['user_lv']=1; if($_COOKIE['user_lv']>=6) $_COOKIE['user_lv']=1; if($_COOKIE['user_lv']>5) solve(1); echo " level : {$_CO..

CERT: 자주 탐지된 공격 [내부링크]

실제 1년 이상 동안 근무하던 곳에서 기록하여 가져온 공격들이다. Extension Filtering(웹 방화벽) 웹 사이트에서 일반적으로 사용하는 확장자 형식이 아닌 공격의 가능성이 있는 파일(dll, conf, ini 등)에 대한..

Python: 보안뉴스 크롤러(설치법) (BeautifulSoup, bs4) [내부링크]

CERT 당직 근무 투입시 실행 후 뉴스 출력해놓기 ** BeautifulSoup ** IDE(Pycharm, VSCode ...) 터미널에서 pip install beautifulsoup4 로 패키지 설치하기 소스코드 상단에 from bs4 import BeautifulSoup 입력..

개발, 정보보안 관련 교육 프로그램 선발일정(대기업, 정부 주관) [내부링크]

https://diger-king.github.io/ChallengeHub/index.html Challenge Hub IT 스텝업 개발 + 정보보안 관련 교육 프로그램 선발일정 아래의 분야를 클릭하여 확인하기! diger-king.github.io 틈날때 조금씩 만들어가..