Algorithm

·Algorithm/Beakjoon
문제 https://www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net 코드 #1번 풀이 import sys sum = 0 numlist = sys.stdin.readlines() for c in numlist[1].rstrip(): sum += int(c) print(sum) 풀이 예제 4번을 보지 못하고 주어지는 수가 10 이상일 경우에는 어떻게 구분하지?... 이죠랄 떨고 있었음ㅋ 근데 진짜로 십의자리 이상인 숫자는 어떻게 구분할까?... 일의자리 숫자만 더 한다는 조건은 없었는데.. 어쨌든 문제를 너무 꼬아생각하는건 팩트같다.. 우선 r..
·Algorithm/Beakjoon
문제 https://www.acmicpc.net/problem/11719 11719번: 그대로 출력하기 2 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄이 주어질 수도 있고, 각 줄의 앞 뒤에 공백이 www.acmicpc.net 코드 import sys texts = sys.stdin.read() print(texts, end='') 풀이 그 전에 푼 문제에서 배운 readlines와 read 메서드를 적용할 수 있는 문제다. 단 차이점은 빈 줄이 주어질 수 있고, 각 줄의 앞 뒤에 공백이 있을 수 있다는 것 → strip류 메서드(rstrip, lstrip, strip) 사용X readline..
·Algorithm/Beakjoon
문제 https://www.acmicpc.net/problem/11718 11718번: 그대로 출력하기 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시 www.acmicpc.net 코드 import sys for i in range(100): inputlist = str(sys.stdin.readline().strip()) #입력값 끝에 \n 제거 if inputlist =="": #공백 입력됐을 경우 탈출 break print(inputlist) 풀이 먼젓번에 풀었던 A+B-4문제와 동일하게 적용했다. readline으로 문자열을 읽어올 경우, 끝에..
·Algorithm/Beakjoon
문제 https://www.acmicpc.net/problem/10951 10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 코드 while True: try: a, b = map(int, input().split()) print(a+b) except: break 풀이 우선 처음 문제를 접했을 때 당황스러웠다.. 테스트 케이스에 대한 세부적인 설정이 없었기 때문... 몇 번을 반복해야 하는지 갈피를 못잡고, 우선 while True: 로 무한 반복을 돌렸는데, 당연히 오류가 났다ㅎ 테스트 케이스 횟수에 대한 특정 언급이 없는 경우에는, 테스트 케이스가 입력되지 않는 경우를 끝으로 가정한다. ➔ try - except 문을 ..
·Algorithm/Beakjoon
# silver 4 문제 https://www.acmicpc.net/problem/2581 2581번: 소수 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. www.acmicpc.net 코드 Ver 1) #num이 소수인지 아닌지 판별하는 함수 def PrimeNum(num): if num == 0 or num == 1: # 0, 1에 대해 예외처리를 해줘야 함! return False for k in range(2, num): if num % k == 0: #2~n-1 로 나눴을 때 나눠짐 ==> 소수가 아님 return False return True #범위 i..
·Algorithm/Beakjoon
# bronze 3 문제 https://www.acmicpc.net/problem/2460 2460번: 지능형 기차 2 최근에 개발된 지능형 기차가 1번역(출발역)부터 10번역(종착역)까지 10개의 정차역이 있는 노선에서 운행되고 있다. 이 기차에는 타거나 내리는 사람 수를 자동으로 인식할 수 있는 장치가 있다. www.acmicpc.net 코드 1. max() 사용 O people = [0] #처음엔 기차에 0명 for i in range(1,11): #역 10개 순회 cnt =list(map(int,input().split())) #하차 = cnt[0]명, 승차 = cnt[1] people.append(people[2*(i-1)]-cnt[0]) #people[odd] = 승차 후 탑승객 - 하차 탑승..
·Algorithm/Beakjoon
# bronze 3 문제 https://www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net 코드 num = input() nList = list(map(int, input().split())) min = max = nList[0] #최소, 최대값 임의로 세팅 for k in nList: if k max: max = k print(min, max) 풀이 파이썬 내장함수인 max, min 없이 최대, 최소를 구하는 함수를 구현 초..
·Algorithm/Beakjoon
# bronze 3 문제 https://www.acmicpc.net/problem/3460 3460번: 이진수 양의 정수 n이 주어졌을 때, 이를 이진수로 나타냈을 때 1의 위치를 모두 찾는 프로그램을 작성하시오. 최하위 비트(least significant bit, lsb)의 위치는 0이다. www.acmicpc.net 코드 cnt=int(input()) # 테스트 케이스 개수 for i in range(cnt): num = int(input()) #테스트 케이스 값 반복해서 입력받기 idx = 0 #이진수로 나타냈을 때 1의 위치 값 bin=[] #1의 위치 값 기록할 리스트 while True: if num%2 == 1: #나머지가 = 1 == 이진수로 나타냈을때 1인 곳 bin.append(idx..
#연습문제 문제 https://school.programmers.co.kr/learn/courses/30/lessons/12912 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 두 정수(a, b)를 입력받으면, 두 수 사이에 속한 모든 정수의 합을 return하는 함수를 정의한다. a == b인 경우, 둘 중 하나 랜덤으로 리턴 -10,000,000
·Algorithm/Beakjoon
문제 https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net 코드 length = int(input()) numList = list(map(int, input().split())) cnt = 0 #소수가 아닌 수 카운팅 for num in numList: #리스트 안 숫자로 진행 if num == 1: #1은 소수에 포함되지 않으므로 continue로 빠져나옴, 소수 아닌수 +1 cnt+=1 continue for i in range(2,num): #1이 아닌 숫자에 대해 2부터 나누며 소수인지 판별 if num%i==..
·Algorithm/Beakjoon
문제 https://www.acmicpc.net/problem/2693 2693번: N번째 큰 수 첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 배열 A의 원소 10개가 공백으로 구분되어 주어진다. 이 원소는 1보다 크거나 같고, 1,000 www.acmicpc.net 코드 - 2차원 배열 사용 cnt = int(input()) #테스트 케이스 개수 N = 3 #N번째로 큰 수 arr = [list(map(int,(input().split()))) for k in range(cnt)] #1줄 for문 이용, 테스트 케이스만큼 값을 입력받아 list로 큰 리스트에 저장 for i in range(len(arr)): #N번째로 큰 값 ..
·Algorithm/Beakjoon
문제 https://www.acmicpc.net/problem/2501 2501번: 약수 구하기 첫째 줄에 N과 K가 빈칸을 사이에 두고 주어진다. N은 1 이상 10,000 이하이다. K는 1 이상 N 이하이다. www.acmicpc.net 코드 l =list(map(int,input().split())) N = l[0] K = l[1] divisor=[] try: for i in range(1,N+1): if N % i == 0: divisor.append(i) print(divisor[K-1]) except IndexError: print(0) 풀이 입력 값이 N K로 주어지고, N의 약수들 중 K번째로 작은 수를 출력한다. → N의 약수를 구해 List에 오름차순으로 저장하고, K번째로 큰 약수를..
mopipi
'Algorithm' 카테고리의 글 목록 (10 Page)