PS 23

(Python) 단계별로 풀어보기 - 수학 1

수학 1 분명 난이도는 낮은데 나한텐 너무 어렵다 역시 수학은 나랑 안맞아... 목차 손익분기점 설탕 배달 벌집 분수찾기 달팽이는 올라가고 싶다 ACM 호텔 부녀회장이 될테야 Fly me to the Alpha Centauri 손익분기점 난이도 : Bronze IV 문제 링크 입력 첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 21억 이하의 자연수이다. 풀이 import math A, B, C = map(int, input().split()) if B >= C: print(-1) else: print(math.trunc(A/(C - B)) + 1) math 모듈의 ceil()를 사용해 올림, trunc() 를 사용해 내림을 할 수 있다. 처음으로 이익이 나는 때를 찾..

PS/baekjoon 2020.12.02

(Python) 단계별로 풀어보기 - 문자열

문자열 Python의 장점! 하면 항상 들어가는 것 중 하나가 문자열 처리가 쉽다이다. Python에서 문자열의 처리를 배워보자 목차 아스키 코드 숫자의 합 알파벳 찾기 문자열 반복 단어 공부 단어의 개수 상수 다이얼 크로아티아 알파벳 그룹 단어 체커 아스키 코드 난이도 Bronze V 문제 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. 입력 알파벳 소문자, 대문자, 숫자 0-9 중 하나가 첫째 줄에 주어진다. 풀이 print(ord(input())) ord()를 사용하면 해당 문자를 아스키 코드로 변환해준다. 숫자의 합 난이도 Bronze II 문제 N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을..

PS/baekjoon 2020.12.02

(Python) 단계별로 풀어보기 - 함수

함수 Python에서 Function을 구현해보자 목차 정수 N개의 합 셀프 넘버 한수 정수 N개의 합 난이도 : Bronze II 문제 정수 n개가 주어졌을 때, n개의 합을 구하는 함수를 작성하시오. 작성해야 하는 함수는 다음과 같다. 입력 def solve(a: list) a: 합을 구해야 하는 정수 n개가 저장되어 있는 리스트 (0 ≤ a[i] ≤ 1,000,000, 1 ≤ n ≤ 3,000,000) 풀이 def solve(a): return sum(a) Python에서는 함수의 매개 변수, 리턴 값의 자료형을 알아서 처리해주므로 따로 입력해주지 않아도 된다. 셀프 넘버 난이도 : Bronze I 문제 링크 입력 없음 풀이 def plus(num): for n in str(num): num += ..

PS/baekjoon 2020.12.01

Educational Codeforces Round 99 (Rated for Div. 2)

Educational Codeforces Round 99 (Rated for Div. 2) 문제가 수능 영어지문 수준으로 이해하기 힘들게 써있어서 많이 헤맸다. 3줄만에 끝날 문제를 냈을리가 없다고 생각하고 또, 제출 했다가 틀리면 감점이 당하니까 혼자 열심히 생각해보다가 그냥 제출했더니 통과했다... 목차 A_Strange Functions C_Ping-pong A_Strange Functions 문제링크 결국 1, 10, 100, 1000, ... 만 나오므로 input의 String length를 구하면 되는 문제였다. 풀이 T = int(input()) for _ in range(T): print(len(input())) C_Ping-pong 문제링크 Alice는 항상 먼저 시작해야하기 때문에 선..

PS/codeforces 2020.12.01

Codeforces Round 687 (Div. 2)

Codeforces Round 687 (Div. 2) 두 번째로 참가한 Codeforces contest였다. python3으로 코드를 제출해서 통과하지 못한 문제를 pypy3으로 제출하니 바로 통과가 되었다.. python 참가자들은 pypy3으로 제출하도록 하자 목차 A_Prison Break B_Repainting Street Prison Break 문제 링크 행렬의 크기가 주어지고 모든 위치에서 하나의 공간으로 이동한다. 이때 가장 오래걸리는 경우는 네 꼭지점 위치에서 지정된 좌표까지의 이동 거리이므로 이를 통해 해결하였다. 풀이 T = int(input()) for _ in range(T): N, M, R, C = map(int, input().split()) print(max(N - R, R ..

PS/codeforces 2020.11.30

(Python) 단계별로 풀어보기 - 일차원 배열

일차원 배열 목차 최소, 최대 최댓값 숫자의 개수 나머지 평균 OX퀴즈 평균은 넘겠지 최소, 최대 난이도 : Bronze III 문제 N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. 풀이 N = int(input()) numList = list(map(int, input().split())) print(min(numList), max(numList)) min(), max()를 통해 List에서 최소값, 최대값을 찾을 수 있다. 최댓값 난이도 : ..

PS/baekjoon 2020.11.30

(Python) 단계별로 풀어보기 - while문

while문 목차 A+B-5 A+B-4 더하기 사이클 A+B-5 난이도 : Bronze III 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 입력의 마지막에는 0 두 개가 들어온다. 풀이 while True: A, B = map(int, input().split()) if A or B: print(A + B) else: break 기본적인 while문 사용법이다. A, B 모두 0이 아닌경우 print(A + B)를 해주었다. A+B-4 난이도 : Bronze III 문제 두 정수 A와 B를 입력받은 다음, A..

PS/baekjoon 2020.11.29

(Python) 단계별로 풀어보기 - for문

for문 python for문의 활용법을 익혀보자 목차 구구단 A+B-3 합 빠른 A+B N 찍기 기찍 N A+B-7 A+B-8 별찍기-1 별찍기-2 X보다 작은 수 구구단 난이도 : Bronze III 문제 N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다. 입력 첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 9보다 작거나 같다. 풀이 N = int(input()) for i in range(1, 10): print(N, &#39;*&#39;, i, &#39;=&#39;, N * i) 기본적인 for문 사용법을 물어보는 문제였다. print()에 ,(콤마)를 사용하면 한칸 띄어서 출력된다. A+B-3 난이도 : Bronze III 문제 두 정수 ..

PS/baekjoon 2020.11.29

Codeforces Round #686 (Div. 3)

Codeforces Round #686 (Div. 3) 목차 A. Special Permutation B. Unique Bid Auction C. Sequence Transformation Special Permutation 문제 링크 List의 길이가 주어지면 1 ~ List length의 숫자들이 인덱스 number와 겹치지 않게 list에 채워넣는 문제였다. 숫자를 순서대로 넣어주고 짝수일 경우 reverse, 홀수일 경우에는 1번 index와 가운데 숫자를 바꿔준 후 reverse를 해줘서 해결하였다. 풀이 n = int(input()) for _ in range(n): num = int(input()) nums = list(range(1, num + 1)) if len(nums) % 2: num..

PS/codeforces 2020.11.28

(Python) 단계별로 풀어보기 - if문

if문 Python에서 if문의 사용법을 알아보자 목록 두 수 비교하기 시험 성적 윤년 사분면 고르기 알람 시계 두 수 비교하기 난이도 : Bronze IV 문제 두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. A와 B는 공백 한 칸으로 구분되어져 있다. 풀이 A, B = map(int, input().split()) print('>' if A > B else '') elif A B else '

PS/baekjoon 2020.11.28