백준 파이썬

이번 포스팅은 https://www.acmicpc.net/problem/2751에서 푼 것을 토대로 작성했습니다. | 문제 수 정렬하기 2 문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 예제 입력 1 5 5 4 3 2 1 예제 출력 1 1 2 3 4 5 문제 해석 한 줄씩 입력 오름차순 정렬 후 한 줄씩 출력 | 풀이 1 - 시간 초과 python 코드) n = int(input())..
이번 포스팅은 www.acmicpc.net/problem/2292에서 푼 것을 토대로 작성했습니다. 기본 수학 1의 두 번째 문제인 벌집입니다. 문제 문제 해석 1부터 시작하여 1씩 증가하는 벌집 모양 1에서 N까지 거치는 방의 개수를 출력으로 구해야 함 Python 코드 n = int(input()) cnt = 1 six_cnt = 6 count = 1 while n > cnt: count += 1 cnt += six_cnt six_cnt += 6 print(count) Python 코드 풀이 벌집 문제에서 1-7-19-37 칸이 이동되는 범위가 6씩 증가하는 것을 보고 입력 n이 cnt, 즉 1-7-19-37로 이어지는 숫자보다 작을 시 while문을 빠져나오고 count를 출력하게 만들었습니다. c..
이번 포스팅은 www.acmicpc.net/problem/1712에서 푼 것을 토대로 작성했습니다. 기본 수학 1의 첫 번째 문제인 손익분기점입니다. 문제 문제 해석 첫째 줄에 A, B, C가 빈칸으로 입력 A : 고정 비용 B : 가변 비용 C : 노트북 가격 손익분기점 nC > A+nB 손익분기점이 존재하면 n 출력, 손익분기점이 존재하지 않으면 -1 출력 Python 코드 a,b,c = map(int, input().split()) if b >=c : print(-1) else : print(int((a/(c-b))+1)) Python 코드 풀이 if b >=c : print(-1) else : print(int((a/(c-b))+1)) nc-nb > a n(c-b) > a n > a/(c-b) 이..
이번 포스팅은 www.acmicpc.net/problem/1316에서 푼 것을 토대로 작성했습니다. 문자열의 마지막 문제인 그룹 단어 체커입니다. 문제 문제 해석 1. 단어의 개수 n을 입력받고 n개의 단어를 입력받는다. 2. 떨어져 있는 같은 알파벳이 있으면 그룹 단어가 아니다. 3. 그룹 단어의 개수를 출력한다, Python 코드 n = int(input()) group = 0 for i in range(n): num = input() cnt = 0 for j in range(len(num)-1): if num[j] != num[j+1]: num_list = num[j+1:] if num_list.count(num[j]) > 0: cnt += 1 if cnt == 0: group += 1 print(..
이번 포스팅은 www.acmicpc.net/problem/2941에서 푼 것을 토대로 작성했습니다. 문자열의 아홉 번째 문제인 크로아티아 알파벳입니다. 문제 문제 해석 1. 크로아티아 알파벳이 변경되는 문자를 입력받는다. 2. 목록에 없는 알파벳은 한 글자씩 센다. 3. 입력받은 알파벳의 개수를 출력한다. Python 코드 s = input().lower() a = list(['c=','c-','dz=','d-', 'lj', 'nj', 's=', 'z=']) cnt = 0 for i in range(len(a)): cnt += s.count(a[i]) s = s.replace(a[i], " ") s = s.replace(" ","") print(cnt+len(s)) Python 코드 풀이 1. 입력받은 ..
이번 포스팅은 www.acmicpc.net/problem/5622에서 푼 것을 토대로 작성했습니다. 문자열의 여덟 번째 문제인 다이얼입니다. 문제 문제 해석 1. 대문자로 된 문자열을 입력받는다. 2. 그림의 다이얼과 같이 대응되는 번호를 찾는다. 3. 번호만큼의 시간을 계산하여 최소 시간을 구한다. Python 코드 s = input().upper() dial = list(['ABC', 'DEF', 'GHI', 'JKL', 'MNO', 'PQRS', 'TUV','WXYZ']) time = 0 for i in range(len(s)) : for j in range(len(dial)) : if (s[i] in dial[j]) == True : time += (j+3) print(time) Python 코드..
이번 포스팅은 www.acmicpc.net/problem/1152에서 푼 것을 토대로 작성했습니다. 문자열의 여섯 번째 문제인 단어의 개수입니다. 문제 문제 해석 1. 영어 대소문자와 띄어쓰기로 이루어진 문자열을 입력받는다. 2. 공백으로 구분하여 단어의 개수를 출력한다. 3. 단어 맨 앞과 맨 뒤에 공백이 가능하다. Python 코드 s = input() lst = list(s) if s == " ": print(0) elif lst[0] == " " : if lst[len(lst)-1] == " ": print(lst.count(' ')-1) else: print(lst.count(' ')) elif lst[len(lst)-1] == " ": print(lst.count(' ')) else : pri..
이번 포스팅은 www.acmicpc.net/problem/1157에서 푼 것을 토대로 작성했습니다. 문자열의 다섯 번째 문제인 단어 공부입니다. 문제 문제를 보고 저 나름대로 해석을 먼저 했습니다. 1. 알파벳 대소문자로 된 단어를 입력받는다. 2. 입력된 알파벳 중에 가장 많이 입력된 알파벳을 대문자로 출력한다. - 대소문자 구분 x 3. 가장 많이 입력된 알파벳이 여러 개 라면? 를 출력한다. 이렇게 두고 코드를 어떻게 진행할지 생각해 보았습니다. Python 코드 s = input().upper() s_set = list(set(s)) # 입력받은 문자열에서 중복 값 제거하여 정렬(무작위) cnt = [] for i in s_set : cnt.append(s.count(i)) # 입력의 count를..
우준세
'백준 파이썬' 태그의 글 목록