분류 전체보기

알고리즘/BOJ

[BOJ/python] 1978번 소수 찾기

https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net 문제 해석 N 개의 수가 주어지고, 주어진 수들의 소수의 개수를 구하는 문제이다. 코드 input = __import__('sys').stdin.readline n = int(input()) ans = 0 arr = list(map(int, input().split())) for i in arr: if i < 2: continue flag = True j = 2 while j * j

알고리즘/BOJ

[BOJ/python] 11047번 동전 0

https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 문제 해석 동전의 갯수와 구할 돈의 양을 입력 받은 후 동전의 가치를 차례대로 입력받는다. 그 후 동전을 사용하여 k값을 만든 최소한의 동전의 양을 구하는 문제이다. 코드 input = __import__('sys').stdin.readline n, k = map(int, input().split()) arr = [] for _ in..

알고리즘/BOJ

[BOJ/python] 2023번 신기한 소수

https://www.acmicpc.net/problem/2023 2023번: 신기한 소수 수빈이가 세상에서 가장 좋아하는 것은 소수이고, 취미는 소수를 가지고 노는 것이다. 요즘 수빈이가 가장 관심있어 하는 소수는 7331이다. 7331은 소수인데, 신기하게도 733도 소수이고, 73도 소수 www.acmicpc.net 문제 해석 왼쪽 부터 1자리, 2자리, 3자리, 4자리 순으로 n이 주어지면 n자리 까지의 모든 수가 소수인 수를 구하는 문제이다. 코드 def go(t): # 소수 체크 # flag = True i = 2 while i * i

알고리즘/BOJ

[BOJ/python] 14247번 나무 자르기

https://www.acmicpc.net/problem/14247 14247번: 나무 자르기 영선이는 나무꾼으로 나무를 구하러 오전에 산에 오른다. 산에는 n개의 나무가 있는데, 영선이는 하루에 한 나무씩 n일 산에 오르며 나무를 잘라갈 것이다. 하지만 이 산은 영험한 기운이 있어 www.acmicpc.net 문제 해석 n개의 나무가 존재한다. 하루에 한그루씩 n일동안 나무를 잘라 얻을 수 있는 최대 길이를 구하는 문제이다. 코드 input = __import__('sys').stdin.readline n = int(input()) arr = [] ans = 0 a = list(map(int,input().split())) b = list(map(int,input().split())) for i in ..

알고리즘/BOJ

[BOJ/python] 10989번 수 정렬하기 3

https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 문제 해석 N개의 수가 주어지고 이를 오름차순으로 정렬하는 프로그램이다. 코드 input = __import__('sys').stdin.readline n = int(input()) arr = [0] * 10001 for _ in range(n): t = int(input()) arr[t] += 1 for i in range(10001): if arr[i] != 0: for j in range(arr[i]): pri..

알고리즘/BOJ

[BOJ/python] 1157번 단어 공부

https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 문제 해석 한 단어를 입력받고 입력받은 단어의 알파벳 개수를 세어 가장 많이 사용된 알파벳을 대문자로 출력하는 문제이다. 이때 가장 많이 사용된 단어가 여러 개라면 "?" 을 출력해야 한다. 코드 n = input().upper() word = list(set(n)) word_count = [] for i in word: word_count.append(n.count(i)) temp = max(word_count) if word_..

알고리즘/BOJ

[BOJ/python] 17219번 비밀번호 찾기

https://www.acmicpc.net/problem/17219 17219번: 비밀번호 찾기 첫째 줄에 저장된 사이트 주소의 수 N(1 ≤ N ≤ 100,000)과 비밀번호를 찾으려는 사이트 주소의 수 M(1 ≤ M ≤ 100,000)이 주어진다. 두번째 줄부터 N개의 줄에 걸쳐 각 줄에 사이트 주소와 비밀번 www.acmicpc.net 문제 해석 이 문제는 먼저 N개만큼 사이트주소와 비밀번호를 공백으로 나누어진 한 줄로 입력받은 후 M개 만큼 찾고싶은 비밀번호의 사이트의 주소를 입력 받는다. 출력으로는 찾고싶은 M개의 비밀번호가 차례로 출력된다. 코드 n, m = map(int,input().split()) dic = {} for i in range(n): a, b = input().split() ..

알고리즘/BOJ

[BOJ/python] 10867번 중복 빼고 정렬하기

https://www.acmicpc.net/problem/10867 10867번: 중복 빼고 정렬하기 첫째 줄에 수의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. www.acmicpc.net 문제 분석 이 문제는 중복된 정수를 제외하고 오름차순으로 정렬한 결과를 출력하는 간단한 문제이다. 코드 n = int(input()) arr = set(map(int,input().split())) arr = sorted(arr) print(" ".join(map(str,arr))) 문제풀이 이번 스터디를 통해 배우지 않았더라면 리스트를 사용하여 조건문을 활용해 중복된 값은 넣지않는 코드로 구현을 하였겠지만, 이번에 set이라..

학교 공부 & CS

adventure design

하루한봉 최종 발표본

알고리즘/BOJ

[BOJ/python] 4458번 첫 글자를 대문자로

https://www.acmicpc.net/problem/4458 4458번: 첫 글자를 대문자로 첫째 줄에 줄의 수 N이 주어진다. 다음 N개의 줄에는 문장이 주어진다. 각 문장에 들어있는 글자의 수는 30을 넘지 않는다. 모든 줄의 첫 번째 글자는 알파벳이다. www.acmicpc.net 문제 분석 이 문제는 n개의 문장을 입력 받아 각 문장의 첫글자를 대문자로 변환하여 출력하는 문제이다. 코드 n = int(input()) for i in range(n): sentence = input() char = sentence[0].upper() print("{}{}".format(char,sentence[1:])) 문제풀이 먼저 n개의 줄을 입력 받기 위해 n을 정수형으로 받아준다. 그후 n만큼 반복하는 ..