All

Problem Solving/BOJ 백준

[BOJ] 입출력문제 - getline, cin, %1d

풀어야 할 입출력 문제 2557, 1000, 2558, 10950, 10951, 10952, 10953, 11021, 11022, 11718, 11719, 11720, 11721, 2741, 2742, 2739, 1924, 8393, 10818, 2438, 2439, 2440, 2441, 2442, 2445, 2522, 2446, 10991, 10992 🧨 백준 11719 문제 출처 : 백준 11719번 - 그대로 출력하기 문제 난이도 : 브론즈 문제 링크 : www.acmicpc.net/problem/11719 11719번: 그대로 출력하기 2 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄이 ..

Problem Solving/BOJ 백준

[BOJ] C++ 그리디 알고리즘 문제풀이 (3)

🧨 백준 1946번 문제 출처 : 백준 1946번 - 신입사원 문제 난이도 : 실버1 문제 링크 : www.acmicpc.net/problem/1946 1946번: 신입 사원 첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스의 첫째 줄에 지원자의 숫자 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개 줄에는 각각의 지원자의 서류심사 성 www.acmicpc.net 🧨 알고리즘 선택 및 C++ 코드 이 문제 자체를 이해하는 게 힘들었다. 정확히 얘기하자면 선발된 지원자들 안에서 조건을 따지는게 아니라 지원자들 전체에서 조건을 모두 따져서 서류와 면접 중 적어도 하나가 다른 지원자보다 떨어지지 않는 자만 선발하는 것이다. 다시 말해, 매 지원자에 대해 모..

Today I Learned

[TIL] 검색엔진 작동원리, 네이버의 라이브 검색

검색엔진의 작동원리 위키백과에 따르면, 검색엔진은 컴퓨터 시스템에 저장된 정보를 찾아주는 것을 도와주도록 설계된 정보 검색 시스템이다. 검색엔진을 사용하면 정보를 찾는데 필요한 시간을 최소화할 수 있다. 좋은 검색을 위해 검색 엔진 최적화(SEO) 방법을 고려한다. 웹에서 원하는 정보를 찾아주는 웹 검색 엔진에는 우리가 아는 네이버, 구글, 위키 등이 있다. 검색엔진이 있기 때문에 사용자는 원하는 정보를 보다 빠르게 찾을 수 있다. 검색 엔진은 정보를 수집하고, 색인화하고 이를 검색하여 활용하는 순서로 작동한다. 검색 엔진은 사용자가 검색 엔진을 사용하기 전에 미리 웹 상에서 정보를 수집해 색인을 만들어 놓는다. 이때 색인은 크롤러를 통해 만들어낸다. 검색엔진은 기본적으로 링크와 텍스트 기반으로 인식한다..

Problem Solving/BOJ 백준

[BOJ] C++ 그리디 알고리즘 문제풀이 (2)

🧨 백준 11399번 문제 출처 : 백준 11399번 - ATM 문제 난이도 : 실버3 문제 링크 : www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 🧨 알고리즘 선택 및 C++ 코드 이 문제 푸는데 OS의 프로세스 순서 정하는 알고리즘이 문득 생각났다.. 수행시간이 짧은 걸 먼저 실행시키면 starvation(기아)이 발생할 수밖에 없다는 문제가 있었는데,, 어쨌든 그리디로 풀어보았다. 각 자리수까지의 sum을 저장할 배열을 또 만들 수도 있지만 괜히 저장공간을 더 쓰고싶지 않았다. #..

Problem Solving/BOJ 백준

[BOJ] C++ 그리디 알고리즘 문제풀이 (1)

🧨 백준 11047번 문제 출처 : 백준 11047번 문제 난이도 : 실버1 문제 링크 : www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 🧨 알고리즘 선택 및 C++ 코드 동전문제야말로 대표적인 그리디 알고리즘이다. 가장 큰 동전단위부터 내림차순으로 내가 원하는 금액 K를 채워나가면 된다. 마치 stable sorting과 비슷한 느낌이랄까.. (x, y 순으로 정렬하려면 y먼저 정렬하고 x ..

Problem Solving/Algorithm, DS

[알고리즘] Greedy Algorithm (탐욕알고리즘, 백준 문제모음)

📌 탐욕적 알고리즘 Greedy Algorithm 탐욕적 알고리즘(Greedy Algorithm)은 동적 프로그래밍(Dynamic Programming) 얘기를 빼놓고서는 할 수 없다. 동적 프로그래밍은 나중에 또 하겠지만 간단히 설명하자면 전체 문제를 여러 개의 하위 문제로 나누어 풀고, 하위 문제들의 해결방법을 결합해 최종 문제를 해결하는 방법이다. 즉, 동적프로그래밍은 사실상 문제를 해결하는 모든 방법을 탐색하므로 정확하지만 속도가 느릴 수 밖에 없다. 동적 프로그래밍의 느린 속도를 보완하고자 등장한 개념이 탐욕적 알고리즘이다. 탐욕적(Greedy), 말 그대로 현재 상황에서 당장 좋은 것만을 고르는 방법이다. 그 순간에 최적이라고 생각하는 결정을 한다. (미래를 전혀 고려하지 않음) 덕분에 그리디..

Problem Solving/BOJ 백준

[BOJ] 기본구현문제 - 2490번, 2864번 (C++ 코드)

🧨 백준 2490번 문제 출처 : 백준 2490번 - 윷놀이 문제 난이도 : 브론즈3 문제 링크 : www.acmicpc.net/problem/2490 2490번: 윷놀이 우리나라 고유의 윷놀이는 네 개의 윷짝을 던져서 배(0)와 등(1)이 나오는 숫자를 세어 도, 개, 걸, 윷, 모를 결정한다. 네 개 윷짝을 던져서 나온 각 윷짝의 배 혹은 등 정보가 주어질 때 도(배 한 www.acmicpc.net 🧨 알고리즘 선택 및 C++ 코드 0, 1로 된 윷놀이 상태를 출력하는 코드였다. 조건문만 쓰면 되는 문제.. #include using namespace std; int main() { int a, b, c, d; int sum = 0; for(int i = 0; i < 3; i++) { for(int ..

Today I Learned

[TIL] 쇼단(Shodan)과 센시스(Censys)로 웹 보안취약점 체크

Shodan 쇼단(Shodan)은 보안취약점을 가진 시스템을 찾아내서 보안을 강화하기 위한 수단으로 개발된 검색엔진이다. 네이버나 구글과 같은 검색 엔진은 웹 사이트에서 우리가 원하는 정보를 크롤링한 뒤 보여주지만 쇼단은 포트를 검색한 후 ‘배너’ 정보로부터 ‘메타데이터’를 가져와 인터넷에 연결된 라우터, 관리자 서비스, 인터넷 전화, 웹캠 등의 정보를 수집하고 결과로 보여준다. 쇼단은 IP주소, 네트워크 연결상태뿐만 아니라 장비의 위치 정보와 같은 민감한 정보까지 식별할 수 있다. 쇼단은 보안 전문가들이 취약점을 쉽게 찾을 목적으로 만들어졌지만, 현재에 와서는 해커들이 공격 전 정보를 수집하는 범죄 도구가 되어 세계에서 가장 위험한 검색 엔진이 됐다. IoT 기기 공격에 활용할 수 있는 악성코드나 네트..

blackon29
'분류 전체보기' 카테고리의 글 목록 (5 Page)