[Algorithm] 인프런 점수계산
·
알고리즘/Python
문제출처OX 문제는 맞거나 틀린 두 경우의 답을 가지는 문제를 말한다. 여러 개의 OX 문제로 만들어진 시험에서 연속적으로 답을 맞히는 경우에는 가산점을 주기 위해서 다음과 같이 점수 계산을 하기로 하였다. 1번 문제가 맞는 경우에는 1점으로 계산한다. 앞의 문제에 대해서는 답을 틀리다가 답이 맞는 처음 문제는 1점으로 계산한다. 또한, 연속으로 문제의 답이 맞는 경우에서 두 번째 문제는 2점, 세 번째 문제는 3점, ..., K번째 문제는 K점으로 계산한다. 틀린 문제는 0점으로 계산한다.예를 들어, 아래와 같이 10 개의 OX 문제에서 답이 맞은 문제의 경우에는 1로 표시하고, 틀린 경우에는  0으로  표시하였을  때,  점수  계산은  아래  표와  같이  계산되어,  총  점수는 1+1+2+3+1..
[Algorithm] 인프런 주사위게임
·
알고리즘/Python
문제출처규칙(1) 같은 눈이 3개가 나오면 10,000원+(같은 눈)*1,000원의 상금을 받게 된다. 규칙(2) 같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)*100원의 상금을 받게 된다. 규칙(3) 모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈)*100원의 상금을 받게 된다. N 명이 주사위 게임에 참여하였을 때, 가장 많은 상금을 받은 사람의 상금을 출력하는 프로그램 을 작성하시오풀이코드import sysN = int(input())# 상금 초기화res =0for i in range(N): tmp = input().split() #가장 큰 숫자 찾기 tmp.sort() a,b,c = map(int, tmp) # 같은 눈이 3개 if a == b a..
[Algorithm] 인프런 뒤집은 소수
·
알고리즘/Python
문제출처N개의 자연수가 입력되면 각 자연수를 뒤집은 후 그 뒤집은 수가 소수이면 그 수를 출력하는 프로그램을 작성. 예를 들어 32를 뒤집으면 23이고, 23은 소수이다. 그러면 23을 출력한다. 단 910를 뒤집으면 19로 숫자화 해야 한다. 첫 자리부터의 연속된 0은 무시한다.뒤집는 함수인 def reverse(x) 와 소수인지를 확인하는 함수 def isPrime(x)를 반드시 작성하여 프로그래밍 한다풀이코드N = int(input())a = list(map(int,input().split()))def reverse(x): return int(str(x)[::-1])def isprime(x): if x == 1: return False for i in range(2, x..
[Algorithm] 인프런 소수의 개수 구하기
·
알고리즘/Python
문제출처자연수 N이 입력되면 1부터 N까지의 소수의 개수를 출력하는 프로그램을 작성하세요. 만약 20이 입력되면 1부터 20까지의 소수는 2, 3, 5, 7, 11, 13, 17, 19로 총 8개입니다.풀이코드def prime(x): for i in range(2, x): if (x % i == 0): return False return Truen = int(input())cnt = 0for x in range(2, n+1): if prime(x): cnt += 1print(cnt)코드설명1. 소수는 1과 자기 자신 이외의 어떤 양의 정수로도 나누어 떨어지지 않는 자연수2. 1은 소수가 아니기 때문에 2부터 시작3. 어떤 숫자로도 나누어 떨어진..
[Algorithm] 인프런 자릿수의 합
·
알고리즘/Python
문제 출처N개의 자연수가 입력되면 각 자연수의 자릿수의 합을 구하고, 그 합이 최대인 자연수를 출력하는 프로그램을 작성하세요. 각 자연수의 자릿수의 합을 구하는 함수를 def digit_sum(x)를 꼭 작성해서 프로그래밍 하세요풀이코드n = int(input())a = list(map(int, input().split()))def digit_sum(x): sum = 0 while x>0: sum += x%10 x = x//10 return summax = 0for x in a: tot = digit_sum(x) if tot > max: max = tot res = xprint(res)코드설명sum에 몫이 아닌 나머지로 넣어..
[Algorithm] 인프런 정다면체
·
알고리즘/Python
문제 출처두 개의 정 N면체와 정 M면체의 두 개의 주사위를 던져서나올 수 있는 눈의 합 중 가장 확률이 높은 숫자를 출력하는 프로그램을 작성하세요.정답이 여러 개일 경우 오름차순으로 출력합니다풀이 코드n, m = map(int, input().split())cnt = [0]*100for i in range(1, n+1): for j in range(1, m+1): cnt[i+j]+=1max = 0for a, b in enumerate(cnt): if b > max: max = bfor a, b in enumerate(cnt): if max == cnt[a]: print(a, end=' ')코드 설명cnt를 리스트로 만듬i와 j 주사위 조합으로 눈의 ..