알고리즘/백준 문제풀이
[백준] 2941 크로아티아 알파벳 파이썬 풀이
2021.06.16
croatia_alphabet = ['c=', 'c-', 'dz=','d-', 'lj','nj', 's=', 'z='] str = input() for croatia in croatia_alphabet: if croatia in str: str = str.replace(croatia,"*") print(len(str)) 아주 간단! 크로아티아 알파벳을 리스트에 넣어놓고 하나씩 돌면서 input으로 받은 값에 포함되면 그것을 요상한 기호로 바꾸어서 그 문자열의 길이를 구하면 된다!
알고리즘/백준 문제풀이
[백준] 1157 단어공부 파이썬 풀이
2021.06.16
https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 11 12 13 words = input().upper() unique_words = list(set(words)) # 입력받은 문자열에서 중복값을 제거 cnt_list = [] for x in unique_words : cnt = words.count(x) #입력받은 문자에 x가 몇개 나온지 센다. cnt_list.append(cnt) # count 숫자를 리스트에 append if cnt_..
알고리즘/백준 문제풀이
[백준] 4673 셀프 넘버 파이썬 풀이
2021.06.15
https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 # set은 중복을 허용하지 않는 자료구조이다 # 원래 number들을 set에 저장해놓고 (집합 개념) # 생성자가 있는 숫자를 다른 집합에 저장하고 # 그 둘의 차집합을 구하면 된다 numbers = set(range(1, 10000)) generated_num = set() fo..
알고리즘/백준 문제풀이
[백준] 4344 평균은 넘겠지 파이썬 풀이
2021.06.15
https://www.acmicpc.net/problem/4344 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net c = int(input()) #맨 위에 줄 입력받음 for i in range(c): inputs = list(map(int,input().split())) #한줄씩 입력받음 avg = sum(inputs[1:])/inputs[0] #평균 over_avg = 0 #평균 넘는 사람 for score in inputs[1:]: if score> avg: over_avg += 1 rate = over_avg/inputs[0] * 100 print(f'{rate:.3f}%') #..
알고리즘/백준 문제풀이
[백준] 1110 더하기 사이클 파이썬 풀이
2021.06.15
https://www.acmicpc.net/problem/1110 1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 11 12 13 14 N = int(input()) #입력받은 값을 int로 바꿈 num = N #변하는 값 count = 0 #몇 번 사이클인지 while True: a = num//10 b = num %10 c = (a+b)%10 num = (b*10) + c count += 1 if(num == N): break print(count) cs..