체스판 다시 칠하기.. 이런 식으로 주어지면 체스판으로 만들기 위해 다시 칠해야하는 정사각형 개수를 각각 다른 경우의 수 전부 구해서 비교하면 되는 문제 경우의 수 각각을 어떻게 표현해야 할 지 몰라서 for문 엄청 썼다가 아닌거같아서 다시 시작,, 결국 for문 4번 써서 성공 import sys N, M = map(int, sys.stdin.readline().split()) B = [] # 여기에 주어진 판 넣기 for i in range(N): B.append(list(sys.stdin.readline().rstrip())) # 리스트 안에 한 줄씩 리스트로 넣음 rec_min = [] # 최소 정사각형 개수 나오는 경우의 수 저장 for i in range(N-7) : # 위부터 for j in..
한수를 판별하는 함수를 만들어야 하는 문제! 99까지는 전부 포함되기 때문에 범위를 나눠서 했다 #한수 판별 함수 def han(num): if num//100 - (num%100)//10 == (num%100)//10 - (num%10): return num N = int(input()) if N < 100 : a = [i+1 for i in range(N)] #99까지는 모두 해당되기 때문에 모두 저장 else : a = [i+1 for i in range(99)] #99까지는 모두 해당되기 때문에 모두 저장 for i in range(100, N+1): #한수 판별 후 저장 if han(i) == i: a.append(i) print(len(a)) 이런 방법도 있었다..!! print(sum(i
처음에는 셀프 넘버에 어떤 규칙이 있을까 싶어서 그걸 구하려고 했는데, 그게 아니라 1~10,000까지의 수 중에서 생성자를 뺀 나머지들을 묶으면 쉬웠다 [1~10000까지의 수] - [1~10000까지 생성자가 있는 수들] = [(1~10000까지의)셀프 넘버들] 이 되는 것! 밑줄 친 부분을 만들기 위해 우선 d(n) 함수를 정의해야 한다. def d(n): return ( n + sum(map(int, str(n)))) sum 과 map 을 이용해 n + n의 각 자리수 리턴 (n + n//10000 + n//1000 ... 이런 식으로 해서 실패했었다 ㅋㅋㅋ) a = [] 라는 빈 리스트를 만들어 결과값을 하나씩 추가 a = [] for i in range(1, 10000): a.append(d(..
1) 테스트 케이스 input 받아서 C에 저장 아래를 C만큼 반복 2) 학생 수 N과 이어서 점수가 나오니 리스트에 저장 후, a[0] 저장 후 삭제 3) 평균 구하기 아래를 학생 수N만큼 반복 4) 점수 중 평균보다 높은 점수가 몇 개 인지 확인 후 y에 저장 (평균보다 높은 점수 받은 학생)/(전체 학생 수) 비율 프린트 import sys C = int(input()) for i in range(C): a = list(map(int, sys.stdin.readline().split())) x = a[0] del a[0] average_s = sum(a)/x y = 0 for j in range(x): if average_s < a[j]: y += 1 print(f'{y/x*100:.3f}%')
기말고사를 망친 세준쓰.. 그럴 시간에 공부나 할 것이지 요녀석~ 1) 시험 본 과목의 개수 N을 입력받기 2) 점수 input 받아서 list에 저장하기 3) 그 중 최댓값 M을 구하기 > max() 4) 리스트 안의 것들 몽땅 /M*100 해주기 5) 평균 구하기 N = int(input()) #1) 시험 본 과목의 개수 N을 입력받기 a = list(map(int, input().split())) #2) 점수 input 받아서 list에 저장하기 x = max(a) #3) 그 중 최댓값 M을 구하기 : max() 사용 #4) 리스트 안의 것들 몽땅 /M*100 해주기 for i in range(N): a[i] = a[i]/x*100 #5) 평균 구하기 print(sum(a)/N)
1) input을 받고, 2) 42로 나눈 나머지를 구하고, > %42 3) list 안에 넣고, > append() 4) set()를 이용해 중복요소를 제거하고, > set() 5) 안에 몇 개 있는지 세어본다 > len() #list 생성 a = [] #input 받고, %42, list 안에 넣음 for i in range(10): a.append(int(input())%42) #set로 중복요소 제거 후 개수 세기 print(len(set(a))) list 안에서 모든 걸 해결할 수도 있다 a = [int(input())%42 for i in range(10)] print(len(set(a)))