개인 공부/Algorithm

개인 공부/Algorithm

[Baekjoon/백준] 1188번 Python

문제 출처: www.acmicpc.net/problem/1188 1188번: 음식 평론가 첫째 줄에 소시지의 수 N과 평론가의 수 M이 주어진다. (1 ≤ N, M ≤ 100) www.acmicpc.net 1. 문제 접근 방식 - 처음에 딱히 생각이 나지 않아 경우의 수를 생각하며 일일히 적어보았다. 여기서는 최대공약수를 활용하는 것이 가장 핵심인 문제다. 2. 내가 푼 코드 import sys # 최대 공약수를 구하는 함수 def gcd(a, b): while b: a, b = b, a % b return a N, M = map(int, sys.stdin.readline().split()) # M에서 N과 M의 최대공약수 빼기 print(M - gcd(N, M)) 3. 결과 및 느낀점 - 성공! 하다가..

개인 공부/Algorithm

[Baekjoon/백준] 2798번 Python

문제 출처: www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 1. 문제 접근 방식 - 먼저 세개의 구간으로 나누어야 했다. 그 나눠진 구간들에서 하나씩을 선택하여 3개의 값을 구하는 과정을 반복해가면서 주어진 값을 넘지 않는 최대의 값을 구하였다. 2. 내가 푼 코드 import sys N, M = map(int, sys.stdin.readline().split()) num = list(map(int, sys.stdin.rea..

개인 공부/Algorithm

[Baekjoon/백준] 11729번 Python

문제 출처: www.acmicpc.net/problem/11729 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net 1. 문제 접근 방식 - 먼저, 하노이탑의 동작 방식을 파악하는 것이 중요하다. 첫번째 단계는 가장 밑의 판을 제외한 나머지를 중간으로 옮기고 가장 밑의 판은 마지막으로 옮긴다. 마지막으로 가운데에 있는 판들을 마지막으로 옮겨주면 끝이 난다. 2. 내가 푼 코드 import sys N = int(sys.stdin.readline()) # n개의 원판이 있을 경우 가장 밑의 원판을 제외한..

개인 공부/Algorithm

[Baekjoon/백준] 10773번 Python

문제 출처: www.acmicpc.net/problem/10773 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net 1. 문제 접근 방식 - 파이썬에 기본적으로 있는 push, pop을 이용하여 간단하게 생각해보았다. 2. 내가 푼 코드 import sys K = int(sys.stdin.readline()) A = [] for i in range(K): num = int(sys.stdin.readline()) # 0이 나오면 가장 최신 값 꺼내기 if num == 0: A.po..

내캉
'개인 공부/Algorithm' 카테고리의 글 목록 (10 Page)