전체 글 137

[백준/Python] 1436번: 영화감독 숌 (완전 탐색)

1. 문제 1436번: 영화감독 숌 666은 종말을 나타내는 수라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워 www.acmicpc.net 2. 해결 - 우선 문제이해를 위해 666이 포함된 수열을 순서대로 써보았다. [666, 1666, 2666, 3666, 4666, 5666, 6660, 6661, 6662, 6663, 6664, 6665, 6666, 6667, 6668, 6669, 7666.. ] 처음에는 6660~6665를 놓치고 6666 6667 순서대로 작성하였다. 문제를 정말 꼼꼼하게 살펴보아야 할 것 같다. - 수열 앞 뒤로 배열을 넣어 정렬하려고 했다. 하지만 완전 탐색..

[알고리즘]/BOJ 2023.03.05

[알고리즘] 완전탐색 기본 (Python)

1. 완전탐색 알고리즘이란 ? 컴퓨터의 빠른 계산능력을 이용해 가능한 경우의 수를 일일이 나열하면서 답을 찾는 알고리즘 - 완전탐색 알고리즘 = Brute-force 알고리즘(무식하게 풀기) - 즉, 무식하게 모든 경우의 수를 다 따져가며 정답을 찾는 방식이다. 하지만 직관적이며 이해하기 쉽고 문제의 정확한 결과를 얻을 수 있는 가장 기초적인 방식이다. 예시를 한번 살펴 보자 4자리의 암호로 구성된 자물쇠를 풀려고 시도한다. 이 때, 자물쇠가 정상적으로 작동한다면 반드시 해결할 수 있는 문제이다. 0000~9999까지 모든 경우의 수를 다 입력할 수 있기 때문이다. 물론 사람의 손으로 작동시킨다면 아주 오랜 시간이 걸릴 것이다. 하지만 우리에게는 위대한 발명품이 있다. 바로 연산속도가 매우 빠른 컴퓨터 ..

[알고리즘] 2023.03.05

[알고리즘] 그리디 알고리즘(Python)

백준을 풀다보면 알고리즘 분류에 '그리디 알고리즘'이 자주 보인다. 그리디 알고리즘은 가장 기초가 되는 알고리즘이자 복잡한 문제를 단순하고 강력하게 해결해줄 수 있는 알고리즘이다. 1. 그리디 알고리즘이란 ? 그리디 알고리즘은 단순하지만 빠르고 강력하다 ! Greedy는 탐욕적이라는 뜻이다. 즉, 그리디 알고리즘은 탐욕적으로 문제를 푸는 알고리즘이라는 뜻으로 탐욕법이라고도 한다 ! ** 탐욕적 -> 문제를 풀 때 현재 상황에서 가장 좋은 것을 고르는 방법 = 현재 상황에서 '최적'이라고 생각하는 해를 선택하는 방법 말 그대로 현재 상황만 고려하고 앞으로 남은 선택들은 고려하지 않기 때문에 항상 최적해(Global optimum)을 보장하진 않는다. 2. 그리디 알고리즘의 정당성 대부분의 문제는 그리디 알..

[알고리즘] 2023.03.04

[ 컴퓨터 네트워크 ] Chapter1 - 2 경계 네트워크(Network Edge)

* 한국항공대학교 최 교수님의 컴퓨터네트워크 강의를 수강하며 작성하는 포스팅입니다. 1.2 Network Edge *잊지말자 bandwidth - 대역폭 network edge - 호스트 network edge : hosts : 클라이언트와 서버 ! *** 서버 - 일해주는 것 . 서비스해주는 주체 access networks, physical media : 무선, 유선 연결 링크 network core : Router들의 연결 네트워크끼리의 상호구성 - 네트워크들의 네트워크 Q. end system과 edge router를 연결시키는 방법 주거용 접속망 (residential access nets) 기관용 접속망 (institutio..

[ 컴퓨터 네트워크 ] Chapter 1 -1 인터넷이란 ?

* 한국항공대학교 최 교수님의 컴퓨터네트워크 강의를 수강하며 작성하는 포스팅입니다. 1.1 What is internet ? 수많은 컴퓨터 디바이스들의 연결 : host = 네트워크에 연결되어 있는 컴퓨터들, 즉 시스템의 끝 network app을 실행 communication links fiber(광섬유), copper(구리), radio(라디오 전파), satellite(인공위성) → 전송속도 = 대역 폭 (bandwidth) Packet switches : forward packets(데이터를 쪼갬 ! ) Router (둥그런 X) Switch(네모난 X) Internet : 여러 통신망을 하나로 연결한다 (inner - network) ISP : Internet Service Provider IS..

[백준/Python] 18870번: 좌표 압축

1. 문제 18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌 www.acmicpc.net 글만 읽어봤을 땐 이게 뭔말인고 .. 싶었다. 그래서 예제를 적어보고 스스로 답을 찾아보는 과정에서 알고리즘에 대해서 떠올랐다. 브론즈에서는 그냥 무작정 코드를 짜면 풀리는 문제가 많았는데 실버단계 문제부터는 이해가 중요한 문제가 많이 나오는 것 같다. 스스로 예제에 대한 답을 내려보는 과정을 습관들여야겠다. 2. 해결 해결방법을 떠올리는 것은 어렵지 않다. X1, X2, ... 을 배열로 두고 ** 중..

[알고리즘]/BOJ 2023.03.01

[리액트 실습] 로그인 화면 만들기 0 (React Hooks - useEffect, useState )

* 유튜브 인브로즈님의 실습 영상을 참조하여 작성한 포스팅입니다. 드디어 영화 앱 실습 포스팅을 끝내고 '로그인 화면 만들기' 포스팅을 가져왔다. 우선 개발에 앞서 이번 포스팅에서는 리액트 Hooks에 대해서 '간단히' 다루어보겠다. 추후에 hooks의 많은 함수를 공부하고 Hooks를 자세히 정리해서 작성해보도록 하겠다. 1. React Hooks Hooks - 리액트의 새로운 기능 : React 16.8 버전에 새로 추가 - function 컴포넌트에서도 state를 관리할 수 있다. - React의 여러 기능을 함수형 프로그래밍으로 사용할 수 있다. - lifecycle(라이프 사이클, 생명 주기)를 사용할 수 있다. Hook의 개요 – React A JavaScript library for bui..

FE/React 2023.02.28

[백준/Python] 7568번: 덩치 (BruteForce)

1.문제 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net 2. 해결 - 고민이 많이 되었던 문제이다. 버블 정렬을 통해 하나씩 정렬해볼까도 생각해봤는데 .. - 계속 안되다가 힌트를 보고 BruteForce를 이용해보아야겠다 .. ~ 고 생각했다. ** BruteForce Algorithm -비교대상 문자열을 처음부터 끝까지 모두 순회하면서 비교하는 알고리즘 그렇다 .. n개의 덩치들(?)을 나머지 n-1개와 비교해서 본인보다 큰 덩치의 수를 알면 끝나는 문제.. ! 3. 코드 n = int(in..

[알고리즘]/BOJ 2023.02.28

[백준/Python] 1978: 소수찾기

1. 문제 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net 2. 해결 - 소수의 조건을 생각해보았다. 소수는 약수가 2개인 수이다. 소수의 약수는 1과 자기자신인 수인데.. - 주어진 수(num)이 소수임을 확인하기 위해서는 num을 2부터 num-1까지 하나하나 나누어보면서 나머지가 0이 아님을 보이면 되겠다! - for문 if문을 적절히 사용하고 - cnt를 통해 탐색하고 있는 수(num)이 소수일 때 +1씩 해주면 되겠다 ! 3. 코드 n = int(input()) nums = list(map(int,input().split())) def isPrime(num): if n..

[알고리즘]/BOJ 2023.02.27

[리액트 실습] 간단 영화 앱 만들기 7 (상세 페이지 만들기)

* 유튜브 인브로즈님의 실습 영상을 학습한 뒤 작성하는 포스팅입니다. [리액트 실습] 간단 영화 앱 만들기 6 (헤더 만들기) [리액트 실습] 간단 영화 앱 만들기 5 (React Routing) [리액트 실습] 간단 영화 앱 만들기 4 (1-3 코드) [리액트 실습] 간단 영화 앱 만들기 3 (components와 props) [리액트 실습] 영화 앱 만들기 2 (리액트 개 0lrlokr.tistory.com 아마 간단 영화 앱 만들기는 7편을 마지막으로 끝나지 않을까 싶다. 하지만 필자가 좀 더 배워서 TV프로그램 , 등장인물 등등 여러 페이지를 만들 수 있는 능력과 글을 쓸 수 있는 여유가 된다면 다시 돌아오도록 하겠다 .. 이번 포스팅에서는 이렇게 영화가 정렬된 화면에서 영화 화면을 누르면 클릭한..

FE/React 2023.02.27