전체 글

전체 글

    [BOJ(백준) 4673] 셀프넘버 - 파이썬 풀이

    문제 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자릿수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, 이 수를 시작해서 n, d(n), d(d(n)), d(d(d(n))), ...과 같은 무한수열을 만들 수 있다. 예를 들어, 33으로 시작한다면 다음 수는 33 + 3 + 3 = 39이고, 그 다음 수는 39 + 3 + 9 = 51, 다음 수는 51 + 5 + 1 = 57이다. 이런 식으로 다음과 같은 수열을 만들 수 있다. 33, 39, 51, 57, 69, 84, 96, 111, 114, 120, 123, 129, 141, ... n을 d(n)의 생성자라..

    [BOJ(백준) 4344] 평균은 넘겠지 - 파이썬 풀이

    문제 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. 입력 첫째 줄에는 테스트 케이스의 개수 C가 주어진다. 둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다. 출력 각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다. 이 문제에선 평균이 넘는!! 학생들의 비율을 출력해야 합니다.(제가 처음에 이걸 발견 못해서 틀렸습니다...) 알고리즘의 구현 순서는 다음과 같습니다. 1. 테스트 케이스의 개수를 입력받고 그만큼 반복문을 돌린다. 2. 학생의 수와 점수..

    [BOJ(백준) 10951] A+B - 4, 파이썬 문자열의 EOF

    문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 각 테스트 케이스마다 A+B를 출력한다. 10951문제는 문자열을 입력받아 EOF(End Of File; 파일의 끝)를 판단할 수 있는지를 묻는 문제입니다. 입력으로 테스트 케이스의 개수가 주어지지 않으므로 EOF를 판단해서 프로그램을 종료해야 합니다. 파이썬으로 EOF를 판단하는 방법은 다음의 두 가지 방법이 있습니다. while True: try: a, b = map(int, input().split()) print(a+b) except EOFError: ..

    [BOJ(백준) 1110] 더하기 사이클 - 파이썬 풀이

    문제 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그다음, 주어진 수의 가장 오른쪽 자리 수와 앞에서 구한 합의 가장 오른쪽 자리 수를 이어 붙이면 새로운 수를 만들 수 있다. 다음 예를 보자. 26부터 시작한다. 2+6 = 8이다. 새로운 수는 68이다. 6+8 = 14이다. 새로운 수는 84이다. 8+4 = 12이다. 새로운 수는 42이다. 4+2 = 6이다. 새로운 수는 26이다. 위의 예는 4번만에 원래 수로 돌아올 수 있다. 따라서 26의 사이클의 길이는 4이다. N이 주어졌을 때, N의 사이클의 길이를 구하는 프로그램을 작성하시오. 입력 첫째 줄..

    [BOJ(백준) 2753] 윤년 계산하기 - 파이썬 풀이

    문제 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서 100의 배수가 아니라서 윤년이다. 1900년은 100의 배수이고 400의 배수는 아니기 때문에 윤년이 아니다. 하지만, 2000년은 400의 배수이기 때문에 윤년이다. 입력 첫째 줄에 연도가 주어진다. 연도는 1보다 크거나 같고, 4000보다 작거나 같은 자연수이다. 출력 첫째 줄에 윤년이면 1, 아니면 0을 출력한다. 4의 배수인데 100의 배수가 아닌 것은 그림1과 같이 나타낼 수 있습니다. 그리고 100의 배수지만 400의 배수인 것까지 표시하면 그림2와 같습니다. 그림2에는 윤년 조건..

    백준 1000번) 파이썬으로 에러날 때

    백준 1000번 문제를 파이썬으로 푸는데 에러가 났습니다. IDE는 파이참을 사용하고 있었습니다. 1000번 문제는 아시다시피 아주 쉬운 입출력 기초 문제인데 저는 다음과 같은 에러가 났습니다. 구글링으로 여러가지 검색을 한 결과, 파이참에 내장된 파이썬의 버전 때문이라는 걸 알았습니다. 제 파이참에 파이썬 인터프리터로 2버전이 설정되어 있었고 인터프리터를 3버전으로 바꿔주니 다음과 같이 문제를 해결할 수 있었습니다. 그러니 여러분이 사용하시는 IDE의 인터프리터가 파이썬3 버전인지 확인하세요! 파이참 인터프리터 변경하는 방법(맥용) 파이참의 Preferences를 눌러줍니다. 그리고 오른쪽 사진과 같이 Python interpreter 설정을 눌러줍니다. 파이썬 2.7이 인터프리터로 설정된 것이 보이네..