본문 바로가기

분류 전체보기

(12)
[수학] 유클리드 호제법이란?(gcd, lcm) 유클리드 호제법 알고리즘 문제에서 두 수의 최대 공약수(gcd)를 찾는데 활용되는 알고리즘 이론이다. 어려운 내용도 아니고 구현도 간단하지만, 그만큼 최대공약수 문제의 기본이 되는 이론이니 익혀두는 것을 추천한다! 원리 두 수 a,b가 있을 때, a를 b로 나눈 나머지를 r이라고 할 때(a%b = r (a>b) ), a와 b의 최대 공약수는 b와 r의 최대 공약수와 같다. 따라서, 이 성질에 따라 a를 b로 나눈 나머지 r을 구한 뒤, b를 r로 나눈 r'를 구하고 r%r' == 0 이 된다면 r'이 a와 b의 최대 공약수가 된다. (위 같은 식이 성립하는 이유는 나머지 연산(%)이 분배법칙이 성립하기 때문인데, 나머지 연산의 분배법칙 또한 수학 카테고리의 문제의 기본이 되는 경우가 많으니 찾아보길 권장..
[JAVA] SWEA D4 1868번: 파핑파핑 지뢰찾기(BFS) ※문제 출처 https://swexpertacademy.com/main/talk/solvingClub/problemView.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com ※BFS 넓이 우선 탐색(Breadth First Search) . 특정 노드(칸)를 기준으로 같은 깊이의 노드(칸)으로 탐색 범위를 넓혀가는 방법. Queue 자료형을 활용해서 구현하며 주로 경로 탐색 등에서 사용된다. [문제] ‘파핑 파핑 지뢰 찾기’라는 유명한 게임이 있다. 이 게임은 RXC 크기의 표를 이용하는 게임인데, 표의 각 칸에는 지뢰가 있을 수도 있고 없을 수도 있다. 표의 각 칸을 클릭했을 때, 그 칸이 지뢰가 있는 칸..
근황 부끄럽게도... 3월에 블로그를 몇번 작성하다 거의 5개월 동안 포스팅을 못했다! 변리사 시험 준비 과정에서 2년간 생긴 공백을 매꾸려니 바쁘기도 했고, 상반기 취준과 SSAFY 지원 준비, 알고리즘 공부 등으로 상당히 바빴는데, 이제 어느정도 싸피 생활에도 익숙해지고 알고리즘 공부도 기록해두고 싶어 다시 작성하려 한다. 알고리즘 스터디 외에도, 상반기 CNS, 교보생명 SW 최종 면접까지 갔던 이야기, SSAFY 10기 지원과정 등 여러가지 이야기도 올려볼 생각이다. 1일 1포스팅 까진 무리더라도 최대한 자주 올리는걸로...!
[TISTORY] 티스토리 블로그에 codepen 넣기(티스토리,코드펜) 티스토리 블로그에 codepen 적용 시키기 ※codepen이란? HTML,CSS,JavaScript 등의 코드를 웹상에서 편집하고 실행시켜볼 수 있는 사이트로, 간단한 코드를 확인해보기에 유용하다. 티스토리 블로그 글을 작성하다보면 웹코딩에 관한 게시글을 작성할땐 코드블럭을 이용하면 직관성이 떨어진다는 느낌을 받을 수 있다. 그럴때 codepen을 사용한다면 작성자도 방문자도 보다 편하게 코드를 확인해볼 수 있다. 1. codepen 접속 후 회원가입 2. Pen에서 코드 작성 처음 계정을 생성했다면 바로 코드를 작성할 수 있는 Pen 화면으로 이동할 것이다. 만약 페이지가 나가졌거나 Pen 화면이 뜨지 않는다면 좌측 상단의 'Pen ' 클릭 후 'Pen' 버튼을 클릭하면 된다. 위 사진은 작성자가 기..
[JavaScript] 자바스크립트 랜덤 숫자 생성 Math.random() 을 활용한 랜덤 숫자 생성 어느 언어를 사용하건 랜덤한 숫자를 생성하는 기능이 필요할 때가 있다. JavaScript 에서는 Math 라이브러리의 random() 함수를 사용하여 구현할 수 있는데, 0부터 1까지의 랜덤한 수를 생성한다. 간단한 예시를 보자. HTML 삽입 미리보기할 수 없는 소스 위에서 볼 수 있듯이 반복할때마다 0~1사이의 난수를 생성하는 것을 확인할 수 있다. 이 기능만으로도 사용이 가능하지만, 특정 범위의 값을 생성하려면 어떻게 해야할까? 0부터 1까지의 값을 생성한다는 점을 생각하면 단순히 생성된 난수에 N을 곱해주면 0~N사이의 값을 생성한다는것을 알 수 있다. 아래 예시를 보자. HTML 삽입 미리보기할 수 없는 소스 여기서 Math.floor() 함..
[Python] 백준 1978번: 소수 찾기(파이썬,수학,정수론) 문제 출처: https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net 문제 주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오. 입력 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. 출력 주어진 수들 중 소수의 개수를 출력한다. 풀이 방법 백준 17425 약수의 합(https://yoon-e.tistory.com/7) 문제와 매우 유사하다. 1 2 3 4 5 6 7 8 1 1 1 1 1 1 1 1 1 2 2 2 2 2 ..
[Python] 백준 17425번: 약수의 합 (파이썬,수학,정수론) 문제 출처: https://www.acmicpc.net/problem/17425 17425번: 약수의 합 두 자연수 A와 B가 있을 때, A = BC를 만족하는 자연수 C를 A의 약수라고 한다. 예를 들어, 2의 약수는 1, 2가 있고, 24의 약수는 1, 2, 3, 4, 6, 8, 12, 24가 있다. 자연수 A의 약수의 합은 A의 모든 약수를 더 www.acmicpc.net 문제 두 자연수 A와 B가 있을 때, A = BC를 만족하는 자연수 C를 A의 약수라고 한다. 예를 들어, 2의 약수는 1, 2가 있고, 24의 약수는 1, 2, 3, 4, 6, 8, 12, 24가 있다. 자연수 A의 약수의 합은 A의 모든 약수를 더한 값이고, f(A)로 표현한다. x보다 작거나 같은 모든 자연수 y의 f(y)값..
[Python] 백준 17425번: 약수의 합 (파이썬,수학,정수론) 문제 출처: https://www.acmicpc.net/problem/17425 17425번: 약수의 합 두 자연수 A와 B가 있을 때, A = BC를 만족하는 자연수 C를 A의 약수라고 한다. 예를 들어, 2의 약수는 1, 2가 있고, 24의 약수는 1, 2, 3, 4, 6, 8, 12, 24가 있다. 자연수 A의 약수의 합은 A의 모든 약수를 더 www.acmicpc.net 문제 두 자연수 A와 B가 있을 때, A = BC를 만족하는 자연수 C를 A의 약수라고 한다. 예를 들어, 2의 약수는 1, 2가 있고, 24의 약수는 1, 2, 3, 4, 6, 8, 12, 24가 있다. 자연수 A의 약수의 합은 A의 모든 약수를 더한 값이고, f(A)로 표현한다. x보다 작거나 같은 모든 자연수 y의 f(y)값..