반응형

알고리즘 142

[파이썬, Python] 백준 11654: 아스키 코드

문제 https://www.acmicpc.net/problem/11654 11654번: 아스키 코드 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. www.acmicpc.net 코드 text = input() print(ord(text)) 설명 문제를 보고 되게 어렵다고 생각할 수 있다. 아스키 코드라는 말을 처음 들어봤을 수 있는데, 이는 컴퓨터 통신에서 사용하는 코드라고 생각하면 된다. 원래 변환하는 방법이 따로 있지만, 파이썬에서는 기본적으로 아스키 코드 변환을 제공하는 함수가 있다. ord 라는 함수로 text를 변환시키면 간단하게 해결이 가능하다.

[파이썬, Python] 백준 4344: 평균은 넘겠지

문제 https://www.acmicpc.net/problem/4344 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net 코드 C = int(input()) for _ in range(C): overmean = [] Nscore = list(map(int, input().split())) mean = (sum(Nscore) - Nscore[0])/(len(Nscore)-1) for i in range(1, len(Nscore)): if Nscore[i] > mean: overmean.append(Nscore[i]) else: continue per = len(overmean) / (len..

[파이썬, Python] 백준 8598: OX퀴즈

문제 https://www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net 코드 N = int(input()) for i in range(N): OX_list = list(input()) score = 0 totalscore = 0 for OX in OX_list: if OX == 'O': score += 1 totalscore += score else: score = 0 print(totalscore) 설명 우선 테스트 케이스의 개수를 N을 통..

[파이썬, Python] 백준 1546: 평균

문제 https://www.acmicpc.net/problem/1546 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net 코드 newscoresum = 0 N = int(input()) score = list(map(int, input().split())) M = max(score) for i in range(len(score)): n = score[i]/M*100 n = float(n) newscoresum += n print(newscoresum/len(score)) 설명 새로운 평균의 합계를 받아주기..

[파이썬, Python] 백준 3052: 나머지

문제 https://www.acmicpc.net/problem/3052 3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net 코드 remain = [] for i in range(10): text = int(input()) text = text % 42 if text not in remain: remain.append(text) else: continue print(len(remain)) 설명 특정 수를 입력 받고, 42로 나눈 나머지를 구하는 문제이다. 나머지는 %로 구하고, 이 중에 겹치지 않는 나머지를 remain에 append 해준다. if문에 걸리지 않는 조건 같은 경우에는 ..

[파이썬, Python] 백준 5597: 과제 안 내신 분..?

문제 https://www.acmicpc.net/problem/5597 5597번: 과제 안 내신 분..? X대학 M교수님은 프로그래밍 수업을 맡고 있다. 교실엔 학생이 30명이 있는데, 학생 명부엔 각 학생별로 1번부터 30번까지 출석번호가 붙어 있다. 교수님이 내준 특별과제를 28명이 제출했는데, www.acmicpc.net 코드 num_list = [] for _ in range(28): num_list.append(int(input())) for i in range(1, 31): if i not in num_list: print(i) 설명 딱히 어려운 것은 없는 반복문 문제였다. 출석 번호를 입력 받고, 없는 숫자를 찾아서 출력해주면 되는 간단한 문제이다. 30명중에 28명이 제출했으므로, 28개..

[파이썬, Python] 백준 2562: 최댓값

문제 https://www.acmicpc.net/problem/2562 2562번: 최댓값 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어 www.acmicpc.net 코드 A = [] for i in range(9): text = int(input()) A.append(text) print(max(A)) print(A.index(max(A))+1) 설명 A라는 빈 리스트를 만들어준다. 이후, 반복문을 통해 A에 각 숫자를 넣어준다. max를 통해 최대값을 출력한다. 몇 번째 수인지 알아야 하므로 수의 위치를 알려주는 ind..

[파이썬, Python] 백준 10818: 최소, 최대

문제 https://www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net 코드 N = int(input()) A = list(map(int,input().split())) print(min(A), max(A)) 설명 크게 어려운 것은 없고 min과 max를 처음 접하게되는 문제다. min은 자료형 내의 최소값을, max는 자료형 내의 최대값을 반환하는 특징을 가지고 있다.

[파이썬, Python] 백준 10871: X보다 작은 수

문제 https://www.acmicpc.net/problem/10871 10871번: X보다 작은 수 첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다. www.acmicpc.net 코드 N, X = map(int, input().split()) A = list(map(int, input().split())) for i in range(N): if A[i] < X: print(A[i], end=" ") 설명 차례대로 N, X를 입력받아준다. 이후 A를 리스트의 형태로 입력 받아준다. 리스트를 차례대로 X와 비교하며 출력을 해주어야 하므로, 반복문을 사용하..

[파이썬, Python] 백준 10807: 개수 세기

문제 https://www.acmicpc.net/problem/10807 10807번: 개수 세기 첫째 줄에 정수의 개수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 정수가 공백으로 구분되어져있다. 셋째 줄에는 찾으려고 하는 정수 v가 주어진다. 입력으로 주어지는 정수와 v는 -100보다 크거 www.acmicpc.net 코드 n = int(input()) num_list = list(map(int, input().split())) v = int(input()) cnt = 0 for i in num_list: if i == v: cnt += 1 print(cnt) 설명 정수의 개수 n 을 입력 받아 준다. num_list라는 변수에 리스트의 값을 입력 받아 준다. v를 통해 찾아야 할 정수를 입력..

반응형