일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- commit
- 수정사항업데이트
- Restore
- python
- 1
- 함수
- boostcamp #aI tech #주간리뷰
- github
- 1330
- local repository 생성
- git push
- GitHub 설치
- 백준
- Reset
- 두수비교하기
- amend
- Baekjoon
- remote repository 생성
- regExr
- STAGE
- 15596
- git commit
- git
- Push
- git config global
- 정규식
- 파이썬
- ADD
- Today
- Total
목록Coding/Algorithm (9)
Très bien

1로 만들기 ◎ Problem Definition 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net ◎ Implementation 1. Problem Type - Dynamic Programming(Silver 3) 2. Problem Analysis 3으로 나누기, 2로 나누기, 1 빼기 의 수식을 최소한으로 활용하여 숫자 1로 만들기 - DP를 이용하여 다양한 경우의 수에 대한 최소 연산 횟수를 계산합니다. 3. Solution_1 (☆python) ▶ 완성 코드 # backjoon : #1463, MakeNumberOne # date : 22th, July. 2022 # writer : Lemonsoda # refer..

Printer Queue ◎ Problem Definition 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net ◎ Implementation 1. Problem Type - 자료구조/Queue (Silver 3) 2. Problem Analysis 현재 Queue의 가장 앞에 있는 문서의 ‘중요도’를 확인한다. ▶ 중요도와 Queue의 index 정보가 동시에 필요하기 때문에 tuple 혹은 dict 형태의 자료형을 적용해보았습니다. 나머지 문서들 중 현재 문서보다 중요도가 높은 문서가 하나라도 있다면, 이 문서..

Virus ◎ Problem Definition 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net ◎ Implementation 1. Problem Type Graph, DFS (Silver 3) 2. Problem Analysis 1번 컴퓨터를 통해 웜 바이러스에 걸리게 되는 컴퓨터의 수를 출력하는 프로그램. - 연결된 노드의 수를 구해야 하기 때문에 visited는 bool 이 아닌 int로 적용했다. - 방문 노드를 확인하는 stack을 구성했다. 3. Solution_1 (☆초기 접근) ▶ 완성 코드 # bj..

Baekjoon 9020 - 골드바흐의 추측 ◎ Problem Definition 9020번: 골드바흐의 추측 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아 www.acmicpc.net ◎ Implementation 1. Problem Type - Implementation, math (Silver 1) #에라토스테네스의 체 2. Problem Analysis ▶ 용어 정의 : 골드바흐 파티션 2보다 큰 모든 짝수는 두 소수의 합으로 나타낼 수 있으며, 짝수를 두 소수의 합으로 나타내는 표현하는 것을 골드바흐 파티션이라고 한다. (10000보다..

BAEKJOON 11653 - 소인수분해 ◎ Problem Definition ◎ Implementation 1. Problem Type - Implementation, Math (Silver 5) 2. Problem Analysis 정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오. - 소인수분해 : 소수들의 곱으로 분해하는 것 - 2부터 순차적으로 소수로 나누자. 3-1. Solution_1 (☆초기 접근) ▶ 완성 코드 # bj_impl_11653_prime_factors N = int(input()) # N (1 ≤ N ≤ 10,000,000) # primes = [] flag = True while flag : for n in range(2, N+1): if N % n == 0 : p..

BAEKJOON 1978 - 소수 찾기 ◎ Problem Definition 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net ◎ Implementation 1. Problem Type - Implementation (Silver 4) 2. Problem Analysis input : 1000 이하의 자연수 N개 output : N 개의 숫자 중에서 소수를 구한다. - 입력값 중에서 max값을 찾아보자. - max값까지 소수를 계산하자. - 소수 list와 input list를 비교하여 겹치는 element의 개수를 구하자. 3. Solution_1 (☆초기 접근) 1. 데이터..

이상한 피라미드 탐험 ◎ Problem Definition ※ 출처 : SW Expert Academy SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com ◎ Problem Analysis 1. Problem Type Implementation 2. Planning 피라미드 형태로 적층된 숫자 피라미드를 2D list로 구현하자. 최소 이동 횟수를 계산한다. 세로 방향 이동 횟수 : 두 수의 column index 차이 가로 방향 이동 횟수 : 두 수의 row index 차이로 생각할 수 있지만, 한 layer당 1만큼의 차이는 바로 접근이 가능하다. 예를 들어 [2,1] 위치의 '5'와 [1,0]의 '2'는 가로..

셀프 넘버 ◎ Problem Definition 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net ◎ Implementation 1. Problem Type - Implementation, Brute Force (실버 5) 2. Problem Analysis 양의 정수 n에 대해서 생성자 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. - d(n) : n + n의 각 자리수 (n : int, n>0) 51의 생성자 : 39 (∵ 39 + 3 + 9 ..

두 수 비교하기 ◎ Problem Definition 1330번: 두 수 비교하기 두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오. www.acmicpc.net ◎ Implementation 1. Problem Type - Implementation (브론즈 4) 2. Problem Analysis A와 B를 비교하는 프로그램을 작성하시오. - if 문을 사용하여 비교하고 출력한다. 3. Solution_1 (☆초기 접근) ▶ 완성 코드 # 백준 1330 - 두 수 비교하기 # Date : Jan. 07. 2022 # written by LemonSoda a, b = map(int, input().split()) if a > b: print('>') elif a < b: pr..