본문 바로가기

알고리즘 문제

백준 알고리즘 한수 1065번 문제어떤 양의 정수 X의 자리수가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오. 입력첫째 줄에 1,000보다 작거나 같은 자연수 N이 주어진다.출력첫째 줄에 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력한다.예제 입력 복사110예제 출력 복사99 값을 리스트에 넣고 복사한다. 그러면 같은 값을 갖는 리스트가 2개다.자리수를 맞춰주기 위해 첫번째 리스트의 마지막 원소를 삭제하고 두번째 리스트의 첫번째 원소를 삭제한다.각 자리수끼리 빼서 같다면 count를 1 증가시킨다. 소스코드 N = int(input()) #N 받음cou..
백준 알고리즘 셀프넘버 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)의 생성자라고 한다..
백준 알고리즘 평균은 넘겠지 4344번 문제대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.입력첫째 줄에는 테스트케이스 C가 주어진다.둘째 줄부터 각 테스트케이스 마다 첫 수로 정수 N(1 avg: count += 1 rate = count/students*100 print("%.3f%%" % round(rate ,3)) C -= 1 avg=count=0 grade.clear() print("%.3f%%" % round(rate ,3))이 부분은 소수점 넷째 자리에서 반올림하여 소수점 이하 세자리를 나타내준다. 이걸 몰라서 자꾸 틀렸다.
백준 알고리즘 평균 1546번 문제세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최대값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다.예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이었으면 수학점수는 50/70*100이 되어 71.43점이 된다.세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로운 평균을 구하는 프로그램을 작성하시오.입력첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보다 크다.출력첫째 줄에 새로운 평균을 소수점 셋째 자리에서 반올림해 둘째자리까지 출력한..
백준 알고리즘 열 개씩 끊어 출력하기 11721번 문제알파벳 소문자와 대문자로만 이루어진 길이가 N인 단어가 주어진다.한 줄에 10글자씩 끊어서 출력하는 프로그램을 작성하시오.입력첫째 줄에 단어가 주어진다. 단어는 알파벳 소문자와 대문자로만 이루어져 있으며, 길이는 100을 넘지 않는다. 길이가 0인 단어는 주어지지 않는다.출력입력으로 주어진 단어를 열 개씩 끊어서 한 줄에 하나씩 출력한다. 단어의 길이가 10의 배수가 아닌 경우에는 마지막 줄에는 10개 이하의 글자만 출력할 수도 있다.예제 입력 복사BaekjoonOnlineJudge 예제 출력 복사BaekjoonOn lineJudge 예제 입력 2 복사OneTwoThreeFourFiveSixSevenEightNineTen 예제 출력 2 복사OneTwoThre eFourFiveS ixSevenEig h..
백준 알고리즘 숫자의 합 11720번 문제N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.입력첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.출력입력으로 주어진 숫자 N개의 합을 출력한다.예제 입력 복사1 1 예제 출력 복사1 예제 입력 2 복사5 54321 예제 출력 2 복사15 N개를 입력받고 길이가 N인 숫자를 리스트로 입력 받는다.리스트에 있는 원소를 다 더한다. 소스코드N = int(input())nums = list(input())sum = 0for i in range(0, N): sum += int(nums[i])print(sum)
백준 알고리즘 설탕 배달 2839번 문제상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다.상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수 있다.상근이가 설탕을 정확하게 N킬로그램 배달해야 할 때, 봉지 몇 개를 가져가면 되는지 그 수를 구하는 프로그램을 작성하시오.입력첫째 줄에 N이 주어진다. (3 ≤ N ≤ 5000)출력상근이가 배달하는 봉지의 최소 개수를 출력한다. 만약, 정확하게 N킬로..