BeakJoon/Python

설명 수학에서 말하는 팩토리얼에 관련된 문제로, 첫 줄에 입력받을 숫자의 개수를 입력받는다 그 다음 줄 부터는 입력받는 숫자에 대한 팩토리얼 값에 들어있는 0의 개수를 출력해준다 코드 t = int(input()) result = [] # 팩토리얼 값에 들어있는 0의 개수를 구하는 함수(러닝타임 짧은 ver) def count(n): cnt = 0 while n != 0: n //= 5 cnt += n return cnt # t개 입력받은 숫자를 count함수에 넣고 리턴 값을 result에 넣어줌 for _ in range(t): n = int(input()) result.append(count(n)) # 결과값을 1줄에 1개씩 출력 for i in range(t): print(result[i]) ` ..
코드 game, winning_game = map(int,input().split()) plus_game = 0 odds_of_winning = (winning_game / game) * 100 odds_of_winning = int(odds_of_winning) while True: new_odds_of_winning = (winning_game / game) * 100 new_odds_of_winning = int(new_odds_of_winning) if new_odds_of_winning == odds_of_winning: game += 1 winning_game += 1 plus_game += 1 elif new_odds_of_winning > odds_of_winning: break; prin..
코드 arr = [] total = [] # 점수를 저장할 2차원 배열 선언 for i in range(5): arr.append(list(map(int, input().split()))) # 총점을 저장할 배열 선언해서, arr 배열 순서와 같은 인덱스에 저장 for j in range(5): total.append(sum(arr[j])) # 가장 높은 점수는 most_big에 저장, 가장 높은 점수인 사람의 인덱스는 who에 저장 most_big = max(total) who = total.index(most_big) # index는 0부터 시작하기 때문에 +1을 해주어야함 print(who+1, most_big) 알게된 점 2차원 배열 선언하고 활용하는 것에 대해 익숙해질 필요가 있고 추가적으로 공..
코드 import math #소수를 판별해주는 함수 ` is_prime_num ` def is_prime_num(n): arr = [True] * (n + 1) arr[0] = False arr[1] = False for i in range(2, int(math.sqrt(n) + 1)): if arr[i] == True: j = 2 while (i * j)
코드 def change(hex): return int(hex, 16) hex = input() result = change(hex) print(result) ` def `에 change 함수를 정의하여 16진수를 10진수로 바꾸고 그 값을 반환 해주는 함수를 만들었다. 그리고 아래서 'hex' 값에 입력받은 값을 ` change `함수로 10진수로 바꾼 값을 result에 저장한 후 출력해줬다 알게된 점 ` int(str, 16) ` 이 코드를 이용하여 str을 10진수로 바꾸는 기능을 알게되었다
코드 def check(s): stack = [] for i in s: if i == "(": stack.append(i) elif i == ")": if not stack: return 'NO' else: # '('수 만큼 ')'이 입력되면 스택은 비어지게 된다 stack.pop() # 제대로 닫힌 괄호인지 확인하는 if문 if stack: return 'NO' else: return 'YES' n = int(input()) # n번 문자열 입력받기 for _ in range (n): str = input() # 함수 호출 및 결과 출력 result = check(str) print(result) `def`를 사용하여 `check`에 ‘s’ 문자열을 검사하는 함수를 만들어놓음 맨 처음에 ‘)’가 나오는..
코드 input_string = input() # 알파벳 개수를 저장할 딕셔너리 초기화 alphabet_count = {} # 문자열 순회 for char in input_string: # 소문자로 통일하여 처리 char = char.lower() # 딕셔너리에 알파벳 추가 또는 개수 증가 alphabet_count[char] = alphabet_count.get(char, 0) + 1 # 가장 많이 나타난 빈도 찾기 max_count = max(alphabet_count.values()) # 가장 많이 나타난 빈도를 가지는 알파벳들 찾기 most_frequent_alphabets = [char for char, count in alphabet_count.items() if count == max_cou..
코드 n = int(input()) num = list(map(int, input().split())) ans = 0 for i in num: count = 0 # 각 숫자마다 소수의 개수를 초기화해야 합니다. if i > 1: for j in range(2, i): if i % j == 0: count += 1 if count == 0: ans += 1 print(ans) 포인트는 `count` 변수는 첫번째 for문이 시작할 때마다 0으로 초기화 해주어야 리스트에 있는 숫자를 검사 해줄 때 마다 사용할 수 있다
쿼딩~
'BeakJoon/Python' 카테고리의 글 목록 (2 Page)