Cute Running Puppy
반응형

algorithm/[python] baekjoon 20

[python] 백준 10809_알파벳 찾기

https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net 정답 코드 1 s = list(input()) alphabet = [] for i in range(26): alphabet.append(-1) for i in range(len(s)): index = ord(s[i]) - 97 if (alphabet[index] == -1): alphabet[index] = i for i in range(len(alphabet)): print(alph..

[python] 백준 11654_아스키코드

https://www.acmicpc.net/problem/11654 11654번: 아스키 코드 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. www.acmicpc.net 풀이 x = input() print(ord(x)) 파이썬에서는 아스키코드를 변환할 때 ord()와 chr()을 사용한다. 문자 -> 아스키코드(숫자): ord() 아스키코드(숫자) -> 문자: chr()

[python] 백준 4673_셀프 넘버

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. num_list = list(range(10001)) for n in range(10001): num = n \ + n // 10000 \ + (n % 10000) // 1000 \ + ((n % 10000) % 1000) // 100 \ + (((n % 10000) % 1000) % 100) // 10 \ + (((n % 10000) ..

[python] 백준 4344_평균은 넘겠지

https://www.acmicpc.net/problem/4344 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net c = int(input()) for _ in range(c): count = 0 score_list = list(map(int, input().split())) mean = sum(score_list[1:]) / score_list[0] for score in score_list[1:]: if score > mean: count += 1 rate = count / score_list[0] * 100 print(f"{rate:.3f}%") 출력값에 주의해야 한다. ↓↓↓fo..

[python] 백준 8958_OX퀴즈

https://www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net n = int(input()) ox_list = [] for _ in range(n): ox_list = input() count = 0 result = 0 for i in range(len(ox_list)): if ox_list[i] == 'O': count += 1 result += count else: count = 0 print(result)

[python] 백준 1546_평균

https://www.acmicpc.net/problem/1546 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net score_list = [] n = int(input()) score_list = list(map(int, input().split())) m = max(score_list) for i in range(n): score_list[i] = score_list[i] / m * 100 print(sum(score_list) / n) 엔터로 점수를 입력 받는 것이 아니라 스페이스바로 점수를 입력받으..

[python] 백준 2577_숫자의 개수

https://www.acmicpc.net/problem/2577 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다. www.acmicpc.net A = int(input()) B = int(input()) C = int(input()) num_list = list(str(A * B * C)) for i in range(10): print(num_list.count(str(i))) 숫자로 생각하고 코드를 작성하기보다 곱한 결과를 문자열로 변경한 뒤 각 문자의 수를 count로 세는 것이 간결하다.