본문 바로가기

백준알고리즘8

[Baekjoon] 백준 알고리즘 - 1157: 단어 공부 1. 문제 www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 2. 내가 생각했던 풀이과정 1) 대소문자를 구분하지 않고, 출력결과가 대문자이기 때문에 upper()함수를 이용하여 단어를 대문자로 바꿔준다. 2) 파이썬의 자료형인 set을 이용하면 중복을 제거할 수 있는데 set으로 중복을 없애준 후에 중복을 없앤 리스트를 넣어준다. 3) wordlist에 들어있는 리스트들을 반복하면서, 해당 문자가 리스트에 몇 개 있는지를 세어주고, 세어준 값을 cnt 리스트에 넣어준다. 4) cnt 리스트에.. 2021. 4. 21.
[Baekjoon] 백준 알고리즘 - 11047: 동전 0 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 2. 내가 생각했던 풀이과정 이 문제는 그리디이다. 그리디라고 생각한 이유는 입력받는 숫자의 단위의 큰 단위가 항상 작은 단위의 배수이므로 작은 단위의 돈을 종합해 다른 해가 나올수 없기 때문이다. 또한, 그리디라고 힌트를 문제에서 주고 있는데 문제 풀이를 위한 최소한의 갯수를 사용하라고 했기 때문이다. 1) 단위의 갯수와, 돈을 입력받.. 2021. 3. 26.
[Baekjoon] 백준 알고리즘: 5622 - 파이썬 1. 문제 www.acmicpc.net/problem/5622 5622번: 다이얼 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다. www.acmicpc.net 2. 내가 생각했던 풀이과정 첫번째 풀이과정 1) 단어를 한 단어씩 자른다 2) 그 단어가 어떤 숫자인지 판단 3) 숫자에 따른 시간 계산 여기서 제일 고민했던 부분이 바로 2번에서 그 단어가 어떤 숫자인지 판단할 때, 자른 단어를 어떻게 처리하느냐 하는 문제였다. 처음 생각했던 부분은 딕셔너리를 이용하여 { 1: 'a', 'b', 'c' } 이렇게 해결할 수 있나 고민해보았다. 하지만, 자른 단어를 숫자로 변환하는 과정이 아스키코드로 변환하기에는 매우 불편하다는 것을 깨닫고 이 풀이.. 2021. 1. 5.
[Baekjoon] 백준 알고리즘 2908: 상수 - 파이썬 1. 문제 www.acmicpc.net/problem/2908 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net 2. 내가 생각했던 풀이과정 1) 숫자 2개를 입력받는다 2) 입력받은 숫자를 역순 슬라이싱을 통해 숫자를 다시 저장한다 3) 역순의 숫자를 max 함수를 통해 비교하고 return 한다 3. 나의 풀이 a, b = input().split() def Sangsoo(a, b): a = int(a[::-1]) b = int(b[::-1]) maxnum = max(a, b) print(maxnum) Sangsoo(a.. 2021. 1. 3.