구현 251

[Python] 백준 풀기 2851 - 슈퍼마리오

파이썬 백준 2851번 브론즈 1 https://www.acmicpc.net/problem/2851 2851번: 슈퍼 마리오 첫째 줄에 마리오가 받는 점수를 출력한다. 만약 100에 가까운 수가 2개라면 (예: 98, 102) 마리오는 큰 값을 선택한다. www.acmicpc.net 문제 보기 분류: 구현, 브루트포스 알고리즘, 누적 합 문제 풀기 누적 합이 100 을 넘기지 못했을 경우에 대한 조건을 추가해야 한다는 것을 잊지 말아야 한다. 코드 보기 import sys inputdata = sys.stdin.readline if __name__ == "__main__": running_total_ls = [0] * 10 running_total_ls[0] = int(inputdata().strip()..

공부하기/백준 2023.01.10

[Python] 백준 풀기 2562 - 최댓값

파이썬 백준 2562번 브론즈 3 https://www.acmicpc.net/problem/2562 2562번: 최댓값 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어 www.acmicpc.net 문제 보기 분류: 구현 문제 풀기 주어진 숫자들을 리스트에 저장한 후 하나씩 빼내어 최댓값을 찾는다. 다시 for loop 을 통해 리스트 안의 값에서 이미 저장된 최댓값과 같은 값이 나올경우 그 값과 위치인 i + 1 을 출력한다. 코드 보기 import sys inputdata = sys.stdin.readline def fnW..

공부하기/백준 2023.01.09

[Python] 백준 풀기 2455 - 지능형 기차

파이썬 백준 2455번 브론즈 3 https://www.acmicpc.net/problem/2455 2455번: 지능형 기차 최근에 개발된 지능형 기차가 1번역(출발역)부터 4번역(종착역)까지 4개의 정차역이 있는 노선에서 운행되고 있다. 이 기차에는 타거나 내리는 사람 수를 자동으로 인식할 수 있는 장치가 있다. www.acmicpc.net 문제 보기 분류: 수학, 구현, 사칙연산 문제 풀기 for loop 이 돌때마다 각 역에서 내린 사람 수, 탄 사람 수를 입력받고 총 승객의 수를 업데이트를 한다. 이 결과를 리스트에 모아 저장을 한 후 max() 함수를 이용하여 최대값이 출력 되도록 한다. 코드 보기 import sys inputdata = sys.stdin.readline if __name__ ..

공부하기/백준 2023.01.08

[Python] 백준 풀기 11948 - 과목 선택

파이썬 백준 11948번 브론즈 4 https://www.acmicpc.net/problem/11948 11948번: 과목선택 JOI는 물리, 화학, 생물, 지구과학, 역사, 지리 총 6 과목의 시험을 봤다. 각 시험의 만점은 100점이다. JOI는 물리, 화학, 생물, 지구과학 4과목 중에서 3 과목을 선택하고 역사, 지리 2 과목 중에 www.acmicpc.net 문제 보기 분류: 수학, 구현, 사칙연산 문제 풀기 물리, 화학, 생물, 지구과학 4 과목과 역사, 지리 2 과목을 나누어 리스트에 입력 받는다. 오름차순 정렬을 하고 최고 점수의 합이 나올 수 있는 4 개중 3 개, 2 개중 1 개의 과목을 선택하여 전체 합을 구한다. 코드 보기 import sys inputdata = sys.stdin...

공부하기/백준 2023.01.06

[Python] 백준 풀기 1100 - 하얀 칸

파이썬 백준 1100번 브론즈 2 https://www.acmicpc.net/problem/1100 1100번: 하얀 칸 체스판은 8×8크기이고, 검정 칸과 하얀 칸이 번갈아가면서 색칠되어 있다. 가장 왼쪽 위칸 (0,0)은 하얀색이다. 체스판의 상태가 주어졌을 때, 하얀 칸 위에 말이 몇 개 있는지 출력하는 프로그램 www.acmicpc.net 문제 보기 분류: 구현, 문자열 문제 풀기 주어진 문자열을 한 줄의 리스트에 모두 넣고 짝수 index (흰색 칸) 에 대해 'F' 가 있는지 검사한다. 이때 리스트에 입력되는 각각의 row 줄은 흰색과 검은색이 변경되기 때문에 마지막에 index 를 하나 늘리기 위한 문자 '0' 을 매 줄 추가시킨다. 코드 보기 import sys inputdata = sys..

공부하기/백준 2023.01.04

[Python] 백준 풀기 11655 - ROT13

파이썬 백준 11655번 브론즈 1 https://www.acmicpc.net/problem/11655 11655번: ROT13 첫째 줄에 알파벳 대문자, 소문자, 공백, 숫자로만 이루어진 문자열 S가 주어진다. S의 길이는 100을 넘지 않는다. www.acmicpc.net 문제 보기 분류: 구현, 문자열 문제 풀기 개별 알파벳 문자를 ASCII 코드와 대응하는 10진수로 변환한다. 변환된 숫자로 기준이될 10진수 위치를 0에 고정하여 +13 쉬프트 시키고 26으로 나눈 나머지를 통해 Z 이후의 알파벳의 숫자를 재조정한다. c = ((c - 65) + 13) % 26 + 65 c = ((c - 97) + 13) % 26 + 97 10진수를 다시 알파벳으로 변환하고 합쳐 출력한다. input() 을 이용..

공부하기/백준 2022.12.30

[Python] 백준 풀기 2941 - 크로아티아 알파벳

파이썬 백준 2941번 실버 5 https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 문제 보기 분류: 구현, 문자열 문제 풀기 크로아티아 알파벳을 리스트에 저장한 후 하나씩 뽑아 주어진 단어에서 해당 문자열을 찾는다. 함수 replace() 를 이용하여 크로아티아 알파벳을 단일 특수 문자로 변환 시킨다. 일반 알파벳과 단일 특수문자인 @ 으로 새로이 작성된 단어의 길이를 구해 총 알파벳의 개수를 출력한다. 코드..

공부하기/백준 2022.12.29

[Python] 백준 풀기 1453 - 피시방 알바

파이썬 백준 1453번 브론즈 2 https://www.acmicpc.net/problem/1453 1453번: 피시방 알바 첫째 줄에 손님의 수 N이 주어진다. N은 100보다 작거나 같다. 둘째 줄에 손님이 들어오는 순서대로 각 손님이 앉고 싶어하는 자리가 입력으로 주어진다. www.acmicpc.net 문제 보기 분류: 구현 문제 풀기 리스트로 100개의 컴퓨터 자리를 0으로 초기화 하여 생성한다. 손님이 원하는 자리의 index가 0으로 되었있으면 빈 자리이기에 1로 바꾸어 준다. 만약 손님이 원하는 자리가 0이 아닌 1로 되어있을 경우 변수 count를 하나씩 올려준다. 코드 보기 import sys inputdata = sys.stdin.readline def fnNumberOfRejectio..

공부하기/백준 2022.12.28

[Python] 백준 풀기 5635 - 생일

파이썬 백준 5635번 실버 5 https://www.acmicpc.net/problem/5635 5635번: 생일 어떤 반에 있는 학생들의 생일이 주어졌을 때, 가장 나이가 적은 사람과 가장 많은 사람을 구하는 프로그램을 작성하시오. www.acmicpc.net 문제 보기 분류: 구현, 문자열, 정렬 문제 풀기 분할되어있는 일, 월, 년 숫자를 공백없이 년월일(20221227) 8자리 숫자로 붙이고 이름과 함께 리스트에 저장한다. 문자형 숫자로 된 생일을 정렬하여 가장 나이가 많은 사람, 가장 나이가 적은 사람을 출력한다. 코드 보기 import sys inputdata = sys.stdin.readline def fnRearrange(): restdt_info = [] if len(stdt_info[..

공부하기/백준 2022.12.27

[Python] 백준 풀기 5800 - 성적 통계

파이썬 백준 5800번 실버 5 https://www.acmicpc.net/problem/5800 5800번: 성적 통계 첫째 줄에 중덕 고등학교에 있는 반의 수 K (1 ≤ K ≤ 100)가 주어진다. 다음 K개 줄에는 각 반의 학생수 N (2 ≤ N ≤ 50)과 각 학생의 수학 성적이 주어진다. 시험 성적은 0보다 크거나 같고, 100보다 www.acmicpc.net 문제 보기 분류: 구현, 정렬 문제 풀기 두번째 줄부터 학생수와 점수를 같이 입력을 받기 때문에 deque() 를 이용하여 제일 왼쪽 학생수를 제거한다. deque() 를 정렬하기 위해 list() 함수를 이용하여 변환하고 sort(reverse = True) 를 이용하여 내림차순 정렬을 한다. 내림차순 정렬으로 Max 와 Min 의 값..

공부하기/백준 2022.12.25