Algorithm/Python
[BOJ] 1259 팰린드롬수 - Python
■ 문제 링크 https://www.acmicpc.net/problem/1259 1259번: 팰린드롬수 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다. www.acmicpc.net ■ 문제 본 문제는 solved.ac 브론즈 1 문제이다. ■ 풀이 처음에 반복문 안에서 시작한다. 이는, 0을 입력 받았을때, 소스코드를 종료하기 위함이다. number를 입력 받는데, 예를들어 number이 1221일때, 펠린드롬 수인지 분별하기 위해, 우리는 이것을 비교하게 된다. number[0] == number[-1] number[1] == number[-2] 이 두개가 모두 같은지 확인..
[BOJ] 2231 분해합 - Python
■ 문제 링크 https://www.acmicpc.net/problem/2231 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net ■ 문제 본 문제는 solved.ac 브론즈 2 문제이다. ■ 풀이 음.. 이 문제를 푸는데에 고민이 많았던 것 같다. 처음 나의 계획은, N에서부터 하나씩 마이너스 해주면서, 분해합을 만족하는 값을 찾는다. 분해합을 구했을 경우, 반복문 탈출을 하려 했으나, 문제가 있었다. 여기서는 N의 가장 작은 생성자를 구하라고 하였다. 그래서 시간초과로 안될 것 ..
[BOJ] 2869 달팽이는 올라가고 싶다 - Python
■ 문제 링크 https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) www.acmicpc.net ■ 문제 본 문제는 solved.ac 브론즈 1 문제이다. ■ 풀이 나는 이 문제를 풀때 우선 처음 이 방식으로 접근했다. 이 수식에 대해 설명하자면, 달팽이가 낮에 올라가고 밤에 내려오는 것이 A-B 이걸 x번 반복했다고 생각하는 것이다. 그리고 여기서 중요하게 보아야 할 것이, 달팽이가 마지막 날에 A미터를 올라가서 그게 나무막대의 길이보다 크거나 같으면, 이미 도착했으니 굳이 내려올 필요가 없다. 올라가는데 걸리는 시간은, x에 1(마..
[BOJ] 1157 단어공부 - Python
■ 문제 링크 https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net ■ 문제 본 문제는 solved.ac 브론즈 1 문제이다. ■ 풀이 대소문자를 구분하지 않는다 + 알파벳을 대문자로 출력한다. => 입력받는 단어의 알파벳을 모두 대문자로 변환하여 word 변수에 저장한다. 그 후, 중복을 제거하기 위해, list(set(word))를 해주며, word_list에 중복이 제거된 알파벳이 들어가게 된다. 이제 그 word_list에 중복이 제거된 알파벳들이, word에 몇 개씩 들어가..