Data Scientist 옌

매일 발전하는 IT문제해결사

728x90

Programing 프로그래밍/코딩테스트 문제풀이 33

[백준] 8~9단계: 추가문제

1. [2745] 진법 변환 B진법 수 N이 주어진다. 이 수를 10진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 사용한다. A: 10, B: 11, ..., F: 15, ..., Y: 34, Z: 35 N, B = input().split() digits = {"0": 0, "1": 1, "2": 2, "3": 3, "4": 4, "5": 5, "6": 6, "7": 7, "8": 8, "9": 9, "A": 10, "B": 11, "C": 12, "D": 13, "E": 14, "F": 15, "G": 16, "H": 17, "I": 18, "J": 19, "K": 20, "L": 21, "M"..

[백준] 5~7단계: 추가문제

1. [27866] 문자와 문자열 단어 S와 정수 i가 주어졌을 때, S의 i번째 글자를 출력하는 프로그램을 작성하시오. S = input() i = int(input()) S_list = [] for w in S: S_list.append(w) print(S_list[i-1]) 2. [2743] 단어 길이 재기 첫째 줄에 영어 소문자와 대문자로만 이루어진 단어가 주어진다. 단어의 길이는 최대 100이다. S = input() print(len(S)) 3. [9086] 문자열 문자열을 입력으로 주면 문자열의 첫 글자와 마지막 글자를 출력하는 프로그램을 작성하시오. N = int(input()) for _ in range(N): S = input() print(S[0]+S[-1]) 4. [11718] 그대..

[백준] 1~4단계: 추가문제

1. [11382] 꼬마정민 꼬마 정민이는 이제 A + B 정도는 쉽게 계산할 수 있다. 이제 A + B + C를 계산할 차례이다! A, B, C = map(int, input().split()) print(A + B + C) 2. [25304] 영수증 준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것이 맞는지 확인해보려 한다. 영수증에 적힌, 구매한 각 물건의 가격과 개수 구매한 물건들의 총 금액 을 보고, 구매한 물건의 가격과 개수로 계산한 총 금액이 영수증에 적힌 총 금액과 일치하는지 검사해보자. total = int(input()) price = 0 for i i..

[백준] 9단계: 2차원 배열

1. [2738] 행렬 덧셈 N*M크기의 두 행렬 A와 B가 주어졌을 때, 두 행렬을 더하는 프로그램을 작성하시오. N, M = map(int, input().split()) matrix_a = [] matrix_b = [] for _ in range(N): matrix_a.append(list(map(int, input().split()))) for _ in range(N): matrix_b.append(list(map(int, input().split()))) for i in range(N): for j in range(M): print(matrix_a[i][j] + matrix_b[i][j], end=' ') print('') 2. [2566] 최댓값 과 같이 9×9 격자판에 쓰여진 81개의 자연수..

[백준] 8단계: 기본 수학2

1. [1978] 소수 찾기 주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오. n = int(input()) num_list = list(map(int, input().split())) prime_cnt = 0 for i in num_list: cnt = 0 if i == 1: # 1은 소수가 아니기 때문에 건너띔 continue for j in range(2, i+1): if i % j == 0: cnt += 1 if cnt == 1: prime_cnt += 1 print(prime_cnt) Comment: for문으로 조건에 맞는 list 인자를 pop하겠다는 발상은 앞으로 폐기 처리할 것, 소수 수를 새는 것은 어떻게 가능했는데, 소수 배열을 내보내는 방법은 아직 고민..

[백준] 7단계: 기본 수학1까지 추가 문제 수정 업로드

오늘따라 시간이 좀 남아서 추가된 문제를 풀었습니다. 1. [3003] 킹, 퀸, 룩, 비숍, 나이트, 폰 - 1단계: 입출력과 사칙연산 동혁이는 오래된 창고를 뒤지다가 낡은 체스판과 피스를 발견했다. 체스판의 먼지를 털어내고 걸레로 닦으니 그럭저럭 쓸만한 체스판이 되었다. 하지만, 검정색 피스는 모두 있었으나, 흰색 피스는 개수가 올바르지 않았다. 체스는 총 16개의 피스를 사용하며, 킹 1개, 퀸 1개, 룩 2개, 비숍 2개, 나이트 2개, 폰 8개로 구성되어 있다. 동혁이가 발견한 흰색 피스의 개수가 주어졌을 때, 몇 개를 더하거나 빼야 올바른 세트가 되는지 구하는 프로그램을 작성하시오. a = list(map(int, input().split())) correct = [1, 1, 2, 2, 2, ..

[백준] 7단계: 문자열

1. [11654] 아스키 코드 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. print(ord(input())) # 숫자를 ASCII로 바꿔주는 함수 # chr() 2. [11720] 숫자의 합 N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오. n = map(int, input()) num = input() sum = 0 for i in num: sum += int(i) print(sum) 3. [10809] 알파벳 찾기 알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력..

[백준] 6단계: 함수

1. [10818] 최소, 최대 N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오. A = map(int, input()) B = list(map(int, input().split())) print(min(B), max(B)) 2. [4673] 셀프넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, 이 수를 시작해서 n, d(n), d(d(n)), d(d(d(n))), ...과 같은 무한 수열을 만들 수 있다. 예를 들어, 33으로 시작한다면 다음 수는 33 + 3 + 3 = 39..

[백준] 5단계: 1차원 배열

매일 한 문제만 풀려는데 그마저 어렵네요. 늦더라도 하기~! 1. [10818] 최소, 최대 N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오. A = map(int, input()) B = list(map(int, input().split())) print(min(B), max(B)) 2. [2562] 최댓값 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다. 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 몇 번째 수인지를 출력한다. nu..

[백준] 4단계: while문

1. [10952] A+B-5 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 입력의 마지막에는 0 두 개가 들어온다. while True: A, B = map(int, input().split()) if A == 0 and B == 0: break else: print(A+B) 2. [10951] A+B-4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) while True: try: A,..

[백준] 3단계: for문

1. [2739] 구구단 N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다. n = int(input()) for i in range(1, 10): print(n, "*", i, "=", n*i) 2. [10950] A+B-3 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. T = int(input()) for i in range(T): a, b = map(int, input().split()) print(a + b) 3. [8393] 합 n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오. n = int(input()) result = 0 for i in range(1,n+1): result += i prin..

728x90