본문 바로가기

알고리즘2

[백준 알고리즘/python] 백준 1065번 한수, 파이썬 백준 알고리즘 1065번 한수, 파이썬 이번에 푼 문제는 백준 알고리즘의 1065번 한수 문제이다. 파이썬으로 풀어보았다. 문제가 요구하는 것은, 정수 X가 각 자리수로 나뉘어 졌을 때, 등차수열을 이루면 그 수는 한수라고 하는데, N이라는 정수가 주어졌을때, N보다 작거나 같은 한수들의 개수를 구하라는 문제이다. ​ 이 문제를 잘 생각해보면 한자리 정수와 두자리 정수는 그냥 무조건 한수가 된다. 규칙을 찾고 말고 하려면 세 자리는 되어야 일정하게 차이가 난다는걸 알 수 있는데, 한자리와 두자리는 그냥 한수로 두고 코드를 짜면 된다. #생각1. 숫자가 주어지면 각 자리 수를 나눈다. #생각2. 각 자리 수를 리스트에 넣고, 인덱스의 0번과 1번의 차, 1번과 2번의 차가 같으면 True 다르면 False.. 2020. 3. 16.
백준 | 8958번 OX퀴즈, 파이썬 생각하는 시간이 점차 길어지기 시작하는 것 같다. 처음에 생각을 했을 땐, 문자열을 받고난 후, 문자열 합축으로 2O1X3O이런식으로 바꿔서 O앞부분의 숫자만 따로 떼어 낸 후 계산하려 했었다. 그렇게 코드를 짜면서 내려가는데, 이건 너무 비효율적인거같고, 코드가 많이 길어졌다. 그래서 나는 처음부터 다시 쪼개서 생각 해 보기로 했다. #생각1. OX문제의 점수를 계산하는 문제이다. #생각2. O는 1점 X는 0점을 기본으로 한다. #생각3. 연속으로 O를 맞으면 점수가 개수만큼 1점씩 더 늘어난다. #생각4. 문자열을 읽어들이면서 O는 1점을주고, 만약 다음에도 O면 추가점수를 변수로 또 만들어서 1점씩 늘린다 만약 X가 나온다면 추가점수를 0점으로 초기화를 시켜준다. 나는 이렇게 문제를 정리한 후 코.. 2020. 3. 16.