알고리즘 문제 풀이(7)
-
석차 구하기
# 석차 구하기 Score = list(map(int, input().split())) result = [] for i in range(0, len(Score)): r = 1 for j in range(0, len(Score)): if Score[i] < Score[j]: r += 1 result.append(r) print(result)
2020.01.09 -
리스트 연속된 합 중 최대값 구하기
k = int(input('k : ')) # 연속된 날짜 지정 max_Ondo = -9999 Ondo = list(map(int, input().split())) for i in range(0, len(Ondo) - k + 1): sum_Ondo = 0 ## 초기화 꼭! for now in range(i, i+k): sum_Ondo += Ondo[now] if sum_Ondo > max_Ondo: #새로운 합이 이전 최댓값보다 크다면 max_Ondo = sum_Ondo print(max_Ondo)
2020.01.09 -
숫자 자리수 분해하기
count = 0 for i in range(1, int(input()) + 1): # 1 ~ N 실행하는 for문 for x in str(i): if x == '3': count += 1 print(count)
2020.01.09 -
탄화수소 질량 구하기
ㅁ c = 0 h = 0 h_join = [] CH = list((input())) if CH[1] == 'H': # C를 구해주는 조건문 c = 1 elif CH[2] =='H': c = int(CH[1]) elif CH[3] =='H': c = 10 * int(CH[1]) + int(CH[2]) elif CH[4] == 'H': c = 100 c *= 12 h_list = [] for j in range(0, len(CH)): # H 뒤의 원소들을 h_list에 추가해주는 문장 if CH[j] =='H': for k in range(j+1, len(CH)): h_list.append(CH[k]) if not h_list : h = 1 # h_list가 비어있으면 H = 1 이고 아니라면 정수로 바꿔줌..
2020.01.06 -
가위바위보
# 1:찌 # 2:묵 # 3:빠 N = int(input()) A = list(map(int, input().split())) B = list(map(int, input().split())) for i in range(N): if A[i] == B[i]: print("D") elif A[i] == 1: #A가 찌일때 if B[i] == 2: print("B") else: print("A") elif A[i] == 2: #A가 묵일때 if A[i] > B[i]: print("A") else: print("B") elif A[i] == 3: #A가 빠일떄 if B[i] == 2: print("A") else: print("B")
2020.01.05 -
분노 유발자
line = [] angry = 0 N = int(input()) for i in range(N): number = int(input()) line.append(number) l = len(line) for i in range(0, len(line)-1): cnt = 0 for j in range(i+1, len(line)): if line[i] > line[j]: cnt += 1 if cnt == l-1: #분노유발자 angry += 1 l -= 1 print(angry) 2중 for문을 사용할 때 주의할 점: 마지막 원소는 비교하는 게 의미가 없기에 for i in range(0, len(line)-1): 처럼 작성하므로서 i 범위를 0~ N-1로 설정하였다.
2020.01.05