python

코딩테스트 & 문제 풀이

[Python]백준_1269 : 대칭 차집합

2022년 12월 6일에 작성됨 https://www.acmicpc.net/problem/1269 1269번: 대칭 차집합 첫째 줄에 집합 A의 원소의 개수와 집합 B의 원소의 개수가 빈 칸을 사이에 두고 주어진다. 둘째 줄에는 집합 A의 모든 원소가, 셋째 줄에는 집합 B의 모든 원소가 빈 칸을 사이에 두고 각각 주어 www.acmicpc.net 문제 분석 (A-B)와 (B-A)의 길이의 합을 출력하면 되는 문제 소스 코드 (⭕) import sys input = sys.stdin.readline n, m = map(int, input().split()) a = set(map(int, input().split())) b = set(map(int, input().split())) print(len(a-b..

코딩테스트 & 문제 풀이

[Python]백준_9733 : 꿀벌

2022년 12월 6일에 작성됨 https://www.acmicpc.net/problem/9733 9733번: 꿀벌 각각의 일을 한 횟수와 비율을 공백으로 구분하여 출력한다. 출력은 {Re,Pt,Cc,Ea,Tb,Cm,Ex} 순서대로 하며, 비율은 소수점 둘째 자리까지 출력한다. 주어진 목록에 없는 일은 출력하지 않는다. 입력의 www.acmicpc.net ✍️자료구조 : 해시(Hash) 파이썬에서 해시(Hash)는 딕셔너리 자료구조를 통해서 제공한다. 해시를 언제 사용하면 좋을까? 1. 리스트를 쓸 수 없을 때 리스트는 list[1]은 가능하지만 list['a']는 불가능하다. 인덱스를 이용하여 원소에 접근하는데 인덱스가 숫자가 아닌 문자열, 튜플 등을 사용하려고 할 때 딕셔너리를 사용하면 좋다. 2. ..

코딩테스트 & 문제 풀이

[Python]백준_18238 : ZOAC 2

2022년 11월 28일에 작성됨 https://www.acmicpc.net/problem/18238 18238번: ZOAC 2 2019년 12월, 두 번째로 개최된 ZOAC의 오프닝을 맡은 성우는 누구보다 화려하게 ZOAC를 알리려 한다. 작년 ZOAC의 방식은 너무 식상하다고 생각한 성우는 문자열을 보여주는 새로운 규칙을 고안해 www.acmicpc.net 문제 분석 왼쪽으로 도는 경우와 오른쪽으로 도는 경우의 시간을 각각 구해서 둘 중에 더 적은 시간을 적용한다. 소스 코드 (⭕) word = input() start = 'A' sec = 0 for i in word: # i에 word의 한 글자씩 넣어줌 left = ord(start)-ord(i) # 현재 위치에서 다음 위치까지 빼줌 right ..

코딩테스트 & 문제 풀이

[Python]백준_4998 : 저금

2022년 11월 23일에 작성됨 https://www.acmicpc.net/problem/4998 4998번: 저금 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트는 한 줄로 이루어져 있고, N, B, M이 주어진다. M은 항상 N보다 크다. N과 M은 항상 백만보다 작거나 같은 수이고, 음수 또는 0이 아니다 www.acmicpc.net 문제 분석 맨 처음 N원을 저금하고, 1년마다 통장에 있는 돈의 %B만큼의 이자를 N원에다가 더해준다. 그 값이 M원을 넘는지 판단해주는 과정을 반복한다. 소스 코드-1 (❌) n, b, m = map(float, input().split()) cnt = 0 while (n < m): n += n*(b/100) cnt += 1 print(cnt) 예제 입..

코딩테스트 & 문제 풀이

[Python]백준_2810 : 컵홀더

2022년 11월 17일에 작성됨 https://www.acmicpc.net/problem/2810 2810번: 컵홀더 첫째 줄에 좌석의 수 N이 주어진다. (1 ≤ N ≤ 50) 둘째 줄에는 좌석의 정보가 주어진다. www.acmicpc.net 문제 분석 1. 좌석의 배치에서 커플석의 개수에 따라 컵홀더의 개수가 달라지는 점을 이용하여 규칙을 세운다. 2. 컵홀더에 놓을 수 있는 최대 사람의 수를 출력해야 되니까 3. 컵홀더의 개수가 널널하다면 사람의 수를 출력하고, 컵홀더의 개수가 사람 수보다 적다면 컵홀더의 개수를 출력해준다. 소스 코드 (⭕) n = int(input()) jari = input() su = jari.count("LL") cup = n+1-su if su == -1 or n < c..

코딩테스트 & 문제 풀이

[Python]백준_10825 : 국영수

2022년 11월 4일에 작성됨 https://www.acmicpc.net/problem/10825 10825번: 국영수 첫째 줄에 도현이네 반의 학생의 수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 한 줄에 하나씩 각 학생의 이름, 국어, 영어, 수학 점수가 공백으로 구분해 주어진다. 점수는 1보다 크거나 같고, 1 www.acmicpc.net 문제 분석 정렬하는 sort함수를 이용하여 문제에서 주어진 조건에 따라 순서를 정하여 출력한다. 소스 코드 (⭕) n = int(input()) lst = [] for i in range(n): name, kor, eng, math = list(map(str, input().split())) lst.append([name, int(kor), i..

코딩테스트 & 문제 풀이

[Python]백준_5622 : 다이얼

2022년 11월 8일에 작성됨 https://www.acmicpc.net/problem/5622 5622번: 다이얼 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다. www.acmicpc.net 문제 분석 A,B,C는 3초, D,E,F는 4초 ... W,X,Y,Z는 10초가 걸린다. 단어를 입력 받고, 그 알파벳에 해당하는 시간을 누적하여 합을 구해준다. 소스 코드-1 (❌) word = input() a = 0 for i in word: if i == ('A' or 'B' or 'C'): a += 3 elif i == ('D' or 'E' or 'F'): a += 4 elif i == ('G' or 'H' or 'I'): a += 5 el..

코딩테스트 & 문제 풀이

[Python]백준_2628 : 종이자르기

2022년 11월 7일에 작성됨 https://www.acmicpc.net/problem/2628 2628번: 종이자르기 첫줄에는 종이의 가로와 세로의 길이가 차례로 자연수로 주어진다. 가로와 세로의 길이는 최대 100㎝이다. 둘째 줄에는 칼로 잘라야하는 점선의 개수가 주어진다. 셋째 줄부터 마지막 줄까지 한 www.acmicpc.net 문제 분석 가로와 세로의 배열을 각각 만들고, 그 안에 잘린 점선 값들을 넣어준다. 배열의 요소값들을 순서대로 빼주면 잘린 조각의 가로, 세로 길이가 된다. 소스 코드 (⭕) x, y = map(int, input().split()) gr = [x, 0] # 가로의 크기 배열 sr = [0, y] # 세로의 크기 배열 line = int(input()) for i in ..

코딩테스트 & 문제 풀이

[Python]백준_2581 : 소수

2022년 11월 6일에 작성됨 https://www.acmicpc.net/problem/2581 2581번: 소수 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. www.acmicpc.net 문제 분석 소수는 1과 자기 자신만을 약수로 가지는 수이다. 즉, n을 2부터 n-1까지 수로 나눴을 때 나누어 떨어지는 수가 없다면 n은 소수가 되는 것을 이용한다. 소스 코드 (⭕) m = int(input()) n = int(input()) sosu_list = [] for i in range(m, n+1): # m부터 n까지 반복 num = 0 for j in rang..

코딩테스트 & 문제 풀이

[Python]백준_1789 : 수들의 합

2022년 11월 5일에 작성됨 https://www.acmicpc.net/problem/1789 1789번: 수들의 합 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. www.acmicpc.net 문제 분석 N개의 자연수 합이 최댓값이 되려면 1부터 2, 3, 4...까지 차례대로 더해준다. 1부터 n까지 더한 누적합이 s보다 커지게 되면, 커지기 직전의 가장 마지막에 더해준 자연수가 최댓값이 된다. 예를 들어 s=20이면, 1+2+3+4+5+6=21>20(커짐), 1+2+3+4+5=15 최댓값은 5가 된다. 소스 코드 (⭕) s = input() # 자연수 합 s 입력 sum = 0 # 누적합 담을 변수 sum 0으로 초기화 add = 1 # 1부터 더해주기 위해 add는 ..

Hicecream
'python' 태그의 글 목록 (3 Page)